#include <iostream> using namespace std; int a[100010]; int main() { int n;cin>>n; // for(int i = 1;i<=n;i++){ // for(int j = 0;j<=n-i;j++){ // cout<<(i+j)*(i+j+1)/2-(i-1)<<' '; // } // cout<<'\n'; // } int res = 2; a[1] = 1; cout<<a[1]<<' '; for(int i = 2;i<=n;i++){ a[i] = res+a[i-1]; cout<<a[i]<<' '; res++; } cout<<'\n'; for(int i = 2;i<=n;i++){ for(int j = i;j<=n;j++){ a[j]-=1;cout<<a[j]<<' '; } cout<<'\n'; } return 0; } // 64 位输出请用 printf("%lld")
找规律即可,初始化第一行,然后依次去掉第一行的第一个数字,然后输出剩下的数字-1即可。
比如1,3,6,10
接下来:2,5,9,
4,7
6