自我添加的算法

时间:2013-02-22 04:10:45

标签: c algorithm

使用哪一行代码进行以下推导(具有确切的顺序):

int y[i][j];

y[0][0]=0

y[1][0]=0+4

y[2][0]=0+16
y[2][1]=0+4+16

y[3][0]=0+64
y[3][1]=0+4+64
y[3][2]=0+16+64
y[3][3]=0+4+16+64

y[4][0]=0+256
y[4][1]=0+4+256
y[4][2]=0+16+256
y[4][3]=0+4+16+256
y[4][4]=0+64+256
y[4][5]=0+4+64+256
y[4][6]=0+16+64+256
y[4][7]=0+4+16+64+256

...
..
.

看模式?它会继续为每一次增加添加自己。

1 个答案:

答案 0 :(得分:0)

  int z[16], y[5][8];

  int p = 1;
  z[0] = 0;
  y[0][0] = 0;
  for (int k = 0; k < 4; k++){
    for (int n = 0; n < p; n++){
      z[p+n] = p*p + z[n];
      y[k+1][n] = 4*z[p+n];
    }
    p += p;
  }  

codepad