首页 > 其他 > 详细

分形【递归】

时间:2020-04-18 14:21:18      阅读:46      评论:0      收藏:0      [点我收藏+]

技术分享图片

从这种题是找图形变换的规律,然后把他从最基本的问题求解,也就是先递归到子问题

像下面这图片的分析技术分享图片


然后路上代码:

  1 #include <bits/stdc++.h>
  2 using namespace std;
  3 int rc[730][730],n,i,j;
  4 
  5 void dg(int n,int x,int y)
  6 {
  7     if (n==1)
  8     {
  9         rc[x][y]=1;
 10         return ;
 11     }
 12     int len=pow(3, n-2);//枚举len的长度,也就是枚举两个X之间的空格数
 13     dg(n-1,x,y);//左上
 14     dg(n-1,x+2*len,y);//右上
 15     dg(n-1,x+len,y+len);//中间
 16     dg(n-1,x,y+2*len);//左下
 17     dg(n-1,x+2*len,y+2*len);//右下
 18     //以上具体可以通过样例理解
 19 }
 20 int main()
 21 {
 22     while(cin >> n, n != -1)
 23     {
 24         memset(rc, 0, sizeof(rc));
 25         dg(n,1,1);
 26         for (i=1;i<=pow(3,n-1);i++)
 27         {
 28             for (j=1;j<=pow(3,n-1);j++)
 29                 if (rc[i][j])
 30                     cout<<"X";
 31                 else
 32                     cout<<" ";
 33             puts("");
 34         }
 35         puts("-");//题目中说的,要注意哦!
 36     }
 37     return 0;
 38 }
 39 

分形【递归】

原文:https://www.cnblogs.com/rstz/p/12725029.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!