题解 | #蛇形矩阵#
蛇形矩阵
http://www.nowcoder.com/practice/649b210ef44446e3b1cd1be6fa4cab5e
蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形。
例如,当输入5时,应该输出的三角形为:
1 3 6 10 15
2 5 9 14
4 8 13
7 12
11
请注意本题含有多组样例输入。
输入描述:
输入正整数N(N不大于100)
import java.util.*; public class Main { public static void main(String[] args){ Scanner sc = new Scanner(System.in); while(sc.hasNext()){ int n =sc.nextInt();//表示n行 n 列 int y=1; //第一列等于1 int yCount =1; //表示 每一列的值 从上往下都是上一个值 加上一个等差数列,差1 //比如 第一列 1 2(1+1) 4(2+2) 7(4+3) 11(7+4) for(int i=1;i<=n;i++){ //从第一行开始 int x = y; int xCount=i+1;//表示每一行的值 是在上一个数的基础上加上当前行数+1;i+1 for(int j=1;j<=n-i+1;j++){ //每一列都逐渐减少 System.out.print(x+" ");//先完整输出一行的每一列 x += xCount++; } System.out.println("");//换行 进入第二行 y += yCount++; } } } }