题目描述
给你一个整数n,输出n∗n的蛇形矩阵。
输入描述
输入一行,包含一个整数
输出描述
输出n行,每行包含n个正整数,通过空格分隔。
1 <= n<=1000
示例1
输入
4
输出
1 2 6 7
3 5 8 13
4 9 12 14
10 11 15 16
源代码
import java.util.Scanner ;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt() ;
int [][] a = new int [1001][1001] ;
int sum = 0 ;
for(int i = 0 ; i < 2 * n - 1 ; i ++){ // 控制斜行行数
for(int j = i ; j >= 0 ; j --){ //控制每行数字的输入
if(j < n && i - j < n) // 控制num递增
sum ++ ;
if(i % 2 == 1) // i是奇数
a[i - j][j] = sum ;
else // i 是偶数
a[j][i - j] = sum ;
}
}
for(int i = 0 ; i < n ; i ++){
for(int j = 0 ; j < n ; j ++){
System.out.print(a[i][j] + " ") ;
}
System.out.println() ;
}
}
}