POJ 2083 Fractal 分形

去年校赛团队赛就有一道分形让所有大一新生欲生欲死……

当时就想学了 结果一直拖到……

今天上午……

马上要省选了 才会一点基础分形……

还是自己不够努力啊……

分形主要是要找到递归点……

还有深度……

还有深度对应的长度 宽度……

看了好久才看懂……

最后要'\0'……

还要清空格……

打出来觉得不是很难……

但就是怕像高中班任说的那样 换个数就不会了……

希望能学以致用……

还有两个小时省选……

总感觉这次省选凶多吉少……

不管怎么样 正常发挥就好……

希望可以去商大打省赛……

复制代码
 1 #include<stdio.h>
 2 #include<math.h>
 3 #include<string.h>
 4 char a[1005][1005];
 5 void dfs(int deep,int x,int y){
 6     if(deep==1){
 7         a[x][y]='X';
 8         return ;
 9     }
10     int s=pow(3,deep-2);
11     dfs(deep-1,x,y);
12     dfs(deep-1,x+s*2,y);
13     dfs(deep-1,x+s,y+s);
14     dfs(deep-1,x,y+2*s);
15     dfs(deep-1,x+2*s,y+2*s);
16 }
17 int main(){
18     int n;
19     while(~scanf("%d",&n)&&n!=-1){
20         memset(a,' ',sizeof(a));
21         int deep=pow(3,n-1);
22         dfs(n,1,1);
23         for(int i=1;i<=deep;i++)
24             a[i][deep+1]='\0';
25         for(int i=1;i<=deep;i++)
26             printf("%s\n",a[i]+1);
27         printf("-\n");
28     }
29     return 0;
30 }
复制代码

 

posted @   良将ℓ  阅读(229)  评论(0编辑  收藏  举报
编辑推荐:
· 从二进制到误差:逐行拆解C语言浮点运算中的4008175468544之谜
· .NET制作智能桌面机器人:结合BotSharp智能体框架开发语音交互
· 软件产品开发中常见的10个问题及处理方法
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
阅读排行:
· C# 13 中的新增功能实操
· Ollama本地部署大模型总结
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(4)
· langchain0.3教程:从0到1打造一个智能聊天机器人
· 用一种新的分类方法梳理设计模式的脉络
点击右上角即可分享
微信分享提示