题解 | #蛇形矩阵#
蛇形矩阵
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++;
}
}
}
}
联想公司福利 1477人发布