把第一行的数算出来后,后续每行每个位置都是上一行的下一列那个数-1;
while(n=readline()){
//定义二维数组
let arr=[];
for(let i=0,j=n;i<n;i++,j--){
arr[i]=new Array(j);
}
//给二维数组赋值
for(let i=0;i<n;i++){
for(let j=n-i-1;j>=0;j--){
if(i==0){
arr[i][j]=calc(i,j)
}else{
arr[i][j]=arr[i-1][j+1]-1;
}
}
}
//输出二维数组
arr.forEach(item=>{
console.log(item.join(" "))
})
}
//定义第一行计算函数
function calc(i,j){
let sum=0
for(let p=i+1;p<=j+1;p++){
sum+=i+p;
}
return sum
}