蛇形填数
如下图所示,小明用从 1 开始的正整数“蛇形”填充无限大的矩阵。
1 2 6 7 15 …
3 5 8 14 …
4 9 13 …
10 12 …
11 …
…
(1)
容易看出矩阵第二行第二列中的数是 5。请你计算矩阵中第 20 行第 20 列
的数是多少?
#include <iostream>
int a[50][50];
using namespace std;
int main() {
a[1][1]=1;
int count=1;
while(count<=50) {
if(count%2) {
a[count][1]=a[count-1][1]+1;
int i=count;
int j=1;
while(i!=1) {
i--;
j++;
a[i][j]=a[i+1][j-1]+1;
}
count++;
} else {
a[1][count]=a[1][count-1]+1;
int i=1;
int j=count;
while(j!=1) {
i++;
j--;
a[i][j]=a[i-1][j+1]+1;
}
count++;
}
}
for(int i=1; i<=20; i++) {
for(int j=1; j<=20; j++)
cout<<a[i][j]<<" ";
puts("");
}
}
761