• 分型宇宙 递归求解(1296)


    题目描述:

    魔法世界的科学家分形宇宙论,即宇宙是一个基本微粒,构成宇宙的无数个微粒又会有其他的小宇宙。分形定义如下:

    1 度的分形为:

    X

    2 度的分形为:

    X X
     X
    X X

    如果 B(n-1) 表示 n-1 度的分形,则 n 度的分形递归定义如下:

    B(n-1) B(n-1)
       B(n-1)
    B(n-1) B(n-1)

    要求给定分形的度,输出相应的分形图。

    输入描述:

    多组输入,每组输入一个正整数 n

    输出描述:

    对应于每组数,输出相应的分形图,并用一个 “-” 分隔

    样例输入:

    1

    2

    样例输出:

    X
    -
    X X
     X
    X X
    -
     1 #include<iostream>
     2 #include<math.h>
     3 using namespace std;
     4 char m[2000][2000];
     5 void d(int n, int x, int y);
     6 int main(void){
     7     int n;
     8     while(cin>>n){
     9         int size = pow(3.0, n-1);
    10         for(int i = 0; i <= size; i++){
    11             for(int j = 0; j <= size; j++){
    12                 m[i][j] = ' ';
    13             }
    14         }
    15         d(n, 1, 1);
    16         for(int i = 1; i <= size; i++){
    17             for(int j = 1; j <= size; j++){
    18                 cout<<m[i][j];
    19             }
    20             cout<<endl;
    21         }
    22         cout<<"-"<<endl;
    23     }
    24     return 0;
    25 }
    26 void d(int n, int x, int y){
    27     if(n == 1){
    28         m[x][y] = 'X';
    29     }
    30     else{
    31         int size = pow(3.0, n-2);
    32         d(n-1, x, y);
    33         d(n-1, x, y+2*size);
    34         d(n-1, x+size, y+size);
    35         d(n-1, x+2*size, y);
    36         d(n-1, x+2*size, y+2*size);
    37     }
    38 }
    signal
    转载请标明出处
  • 相关阅读:
    开发软件设计模型 visual studio UML
    to debug asp.net mvc4
    BeeFramework
    .net entity framework 泛型 更新与增加记录
    javascript debut trick, using the throw to make a interrupt(breakpoint) in your program
    C# dynamic
    webapi
    C# async / await
    NYoj 613 免费馅饼
    洛谷P1056:排座椅(贪心)
  • 原文地址:https://www.cnblogs.com/zq-dmhy/p/11074356.html
Copyright © 2020-2023  润新知