题目描述
可以发现要输出的矩阵的元素的值满足$a[i][j]=2^{i+j}$,输入的N的范围是$0\le N \le15$,要输出元素的最大值是$2^{28}$,不会超出int
的数据范围,可以用一个数组int a[29]
来保存2的次方。
C++ 代码
#include<iostream>
using namespace std;
int main()
{
int n, a[29]={1};
for(int i = 1; i < 29; i++)
a[i] = a[i-1] * 2;
while( cin >> n && n)
{
for (int i = 0; i < n; i++)
{
for (int j = 0; j < n; j++)
cout << a[i + j] << " ";
cout << endl;
}
cout << endl;
}
return 0;
}