i为行,j为列,当j>=2时,有以下规律,从上往下加 arr[i][j]=arr[i][j-1]+i+j-1; 当i>=2时,有以下规律,从左往右加 arr[i][j]=arr[i-1][j]+i+j-2;

import java.util.*;
public class Main{
    public static void main(String args[]){
        Scanner sc=new Scanner(System.in);
        while(sc.hasNextInt()){
            int n=sc.nextInt();
            int[][] arr=new int[n+1][n+1]; 
            arr[1][1]=1;//设置左上角第一个数为1
            for(int i=1;i<=n;i++){//上三角遍历
                for(int j=1;j<=n-i+1;j++){
                     if(i==1&&j==1){//跳过第一行第一列
                     continue;
                    }
                if(i==1&&j!=1){//先把第一行和第一列按规律计算好
                  arr[i][j]=arr[i][j-1]+i+j-1;
                } else if(i!=1&&j==1){
                        arr[i][j]=arr[i-1][j]+i+j-2;
                }else{//计算中间的数,要么从上往下加,要么从左往右加,皆可
                        arr[i][j]=arr[i-1][j]+i+j-2;
                    }
                   
                    
              }
            }   
                for(int i=1;i<=n;i++){
                    for(int j=1;j<=n-i+1;j++){
                        System.out.print(arr[i][j]+" ");
                        
                    }
                    System.out.println();
                }
        }
    }
}