挑战
编写一个以整数N为输入的程序,并输出树当前所处的生死阶段。N总是在0到10之间。
^字符组成的N大小的基,然后从N向上移动和减去2,如果结果大于0,然后再次绘制^字符的线条,再次绘制新N的大小,重复,而N大于0。最后,如果N的起始值为奇数,则放置单个|字符;如果为偶数,则放置两个||字符。示例:N = 5 ^告诫注意,如果N=0时,将只绘制茎,而不会在其上绘制叶子(^)。M而不是^,然后添加2到N,并按照上面相同的步骤重新绘制线条,但这一次,当它小于或等于10时,添加2到N。示例:N = 3 M MMM MMMMM MMMMM)。你的程序必须以两种不同的语言运行,它们都需要输入N。第一语言必须根据N输出树的生命阶段,第二语言必须输出死亡阶段。
输入:N = 1
^
| M
MMM
MMMMM
MMMMMMM
MMMMMMMMM
|输入:N = 10
^^
^^^^
^^^^^^
^^^^^^^^
^^^^^^^^^^
||||发布于 2017-09-30 15:03:25
发布于 2017-09-30 15:11:30
发布于 2017-10-01 09:17:58
#define _\
"""
main(N,n,j,k){scanf("%d",&N);j=-~!(N%2);for(n=j;n<=N;n+=2){printf("%*c",(N-n)/2+1,94);for(k=n-1;k;k--)printf("^");puts("");}printf("%*c",++N/2,124);N%2?puts("|"):0;}
#define _"""
#define/*
N=10-input();j=[1,0][N%2]
for n in range(1,-~N,2):print(N-n)/2*" "+"M"*(n+j)
print~-N/2*" "+"|"*-~j
#*/_#define _\
"""
main(N,n,j,k){scanf("%d",&N);j=-~!(N%2);for(n=j;n<=N;n+=2){printf("%*c",(N-n)/2+1,94);for(k=n-1;k;k--)printf("^");puts("");}printf("%*c",++N/2,124);N%2?puts("|"):0;}
#define _"""
#define/*
N=10-input();j=[1,0][N%2]
for n in range(1,-~N,2):print(N-n)/2*" "+"M"*(n+j)
print~-N/2*" "+"|"*-~j
#*/_https://codegolf.stackexchange.com/questions/144105
复制相似问题