C 语言 Fractal 打印

网友投稿 726 2022-10-10

C 语言 Fractal 打印

C 语言 Fractal 打印

A fractal is an object or quantity that displays self-similarity, in a somewhat technical sense, on all scales. The object need not exhibit exactly the same structure at all scales, but the same "type" of structures must appear on all scales.

A box fractal is defined as below :

A box fractal of degree 1 is simplyXA box fractal of degree 2 isX X X X XIf using B(n - 1) to represent the box fractal of degree n - 1, then a box fractal of degree n is defined recursively as followingB(n - 1) B(n - 1) B(n - 1) B(n - 1) B(n - 1)

Your task is to draw a box fractal of degree n.

Input

The input consists of several test cases. Each line of the input contains a positive integer n which is no greater than 7. The last line of input is a negative integer -1 indicating the end of input.

Output

For each test case, output the box fractal using the 'X' notation. Please notice that 'X' is an uppercase letter. Print a line with only a single dash after each test case. Don't output any trailing spaces at the end of each line, or you may get an 'Presentation Error'!

Sample Input

1 2 3 4 -1

Sample Output

X - X X X X X - X X X X X X X X X X X X X X X X X X X X X X X X X - X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X X

#include #include #include char mp[100][100];void fractal(int n,int x,int y){ int size; if(n==1){ mp[x][y]='x'; return; } size=pow(3,n-2); fractal(n-1,x,y); fractal(n-1,x,y+2*size); fractal(n-1,x+size,y+size); fractal(n-1,x+2*size,y); fractal(n-1,x+2*size,y+2*size);}int main(void){ int n,i,j,size; scanf("%d",&n); size=pow(3,n-1); memset(mp,' ',sizeof(mp)); fractal(n,1,1); for(i=1;i<=size;i++){ for(j=1;j<=size;j++){ printf("%c",mp[i][j]); } printf("\n"); }}

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:处理 当一个项目依赖于具有闭源的许可证的jar,该许可证阻止其存在中央存储库中 的情况----三种方法
下一篇:微信小程序生成二维码工具(微信小程序二维码生成器)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~