- 先算出第一行的值,紧紧抓住和当前索引的关系,且需要二维数组来作为一个桥梁。
- 从第二行开始,还是每行每行的算,只不过除了内部的 j+1 还有外部的 i-1
#include<bits/stdc++.h>
using namespace std;
int main(){
int N;
while(cin>>N){
vector<vector<int>> res(N, vector<int>(N,0));
int a = 0;//首先打印第一行
for(int i = 0; i< N;i++){
cout<< a + i + 1<<" ";
a = a + i + 1;
res[0][i] = a;
}
cout<<endl;
//在打印下面的几行
for(int i = 1; i< N; i++){
for(int j = 0; j< N-i;j++){
cout<< res[i-1][j] + j + 1 + i - 1 <<" ";
res[i][j] = res[i-1][j] + j + 1 + i - 1;
}
cout<<endl;
}
}
return 0;
}
京公网安备 11010502036488号