思路:
1 3 6 10
2 5 9
4 8
7
第一行[1 3 6 10]
第二行是 去掉第一行的第一列,然后将后面的[3 6 10]分别减1得到的。
代码:
#include<bits/stdc++.h>
using namespace std;
int main(){
int N;
cin >> N;
vector<int> arr;
arr.push_back(1);
for (int i = 0; i < N-1;i++){
arr.push_back(arr[i] + i + 2);
}
for (int i = 0; i < N; i++){
for (int j = i; j < N;j++){
cout << arr[j] - i << " ";
}
cout << endl;
}
return 0;
}