描述
1 2 3 4 5
12 13 14 6
11 15 7
10 8
9
跟蛇形填数一样,只是填数要求按照三角形填。注意每组数据之间用空行隔开
输入
第一行有一个N,表示N组测试数据
接下来每组数据包括一个数字X,表示三角形的边长,0< X <1000
输出
输出之后填好之后的图
样例输入
2
5
4
样例输出
1 2 3 4 5
12 13 14 6
11 15 7
10 8
9
1 2 3 4
9 10 5
8 6
7
public static void main(String[] args){
Scanner sc=new Scanner(System.in);
int a,b,c,d,n,aa,T;
int[][] yi=new int[1001][1001];
T=sc.nextInt();
while(T>0){
T--;
int sum=1;
n=sc.nextInt();
for(a=0;a<=(n-1)/2;a++){
for(b=a;b<=n-a-a-1;b++)//左/
yi[a][b]=sum++;
for(b=n-2-a-a,aa=a+1;b>=a;b--,aa++)//对角/
yi[aa][b]=sum++;
for(b=n-a-2-a;b>a;b--)//上/
yi[b][a]=sum++;
}
for(c=0;c<n;c++){
for(d=0;d<n-c;d++)
System.out.printf("%4d",yi[c][d]);
System.out.println();
}
}
}