组合题

(矩阵变幻)有一个奇幻的矩阵,在不停的变幻,其变幻方式为:数字0变成 矩阵

0  0

0  1

数字1变成矩阵

1  1

1  0

最初该矩阵只有一个元素0,变幻n次后,矩阵会变成什么样?

例如,矩阵最初为:[0]:矩阵变幻1次后:

0  0

0  1

矩阵变幻2次后:

0  0  0  0

0  1  0  1

0  0  1  1

0  1  1  0

输入一行一个不超过10的正整数n输出变幻n次后的矩阵。试补全程序。

提示:

“«” 表示二进制左移运算符,例如(11)_2 «2 = (1100)_2(11)2«2=(1100)2;而“^”表示二进制异或运算符,它将两个参与运算的数中的每个对应的二进制 位一进行比较,若两个二进制位相同,则运算结果的对应二进制位为0 ,反之 为1。

#include <cstdio>

using namespace std;

int n;

const int max_size = 1<<10;

int res[max_size][max_size]; 

void recursive(int x, int y, int n,int t){

    if(n==0){

        res[x][y]= ① ;

        return ;

    }

    int step = 1<< (n-1);

    recursive( ②,n-1,t);

    recursive(x,y+step,n-1,t);

    recursive(x+step,y,n-1,t);

    recursive( ③ ,n-1,!t);

}

int main(){

    scanf("%d",&n);

    recursive(0,0,④ );

    int size = ⑤;

    for(int i=0;i<size;i++){

        for(int j=0;j<size;j++)

            printf("%d",res[i][j]);

        puts(" ");

    }

    return 0;

}

第1题 单选题

①处应填()

A

n%2

B

0

C

t

D

1

第2题 单选题

②处应填( )

A

 x-step, y-step

B

X, y-step

C

x-step, y

D

x,y

第3题 单选题

③处应填(  )

A

x-step, y-step

B

x+step, y+step

C

x-step, y 

D

X, y-step

第4题 单选题

④处应填( )

A

n-l, n%2

B

n,0

C

n,n%2

D

n-1,0

第5题 单选题

⑤处应填( )

A

1«(n+1) 

B

1«n 

C

 n+1 

D

1«(n-1)

赣ICP备20007335号-2