#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

活动地址https://www.nowcoder.com/discuss/726480854079250432