一、题目描述
蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形。
例如,当输入5时,应该输出的三角形为:
1 3 6 10 15
2 5 9 14
4 8 13
7 12
11
二、输入描述
输入正整数N(N不大于100)。
三、输出描述
输出一个N行的蛇形矩阵。
四、解题思路
- 从输入中读取一个正整数N;
- 使用两层循环生成蛇形矩阵。外层循环控制行数,内层循环控制每行的数字个数;
- 在内层循环中,计算每个位置上的数字。使用公式(i+j)*(i+j+1)/2-(i-1)计算当前位置上的数字,并输出;
- 在内层循环结束后,换行输出;
- 外层循环结束后,完成蛇形矩阵的输出。
五、Java算法源码
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
while(sc.hasNext()){
int n = sc.nextInt();
for(int i = 1; i<= n; i++){
for(int j=0; j<=n-i; j++){
System.out.print((i+j)*(i+j+1)/2-(i-1));
System.out.print(" ");
}
System.out.println();
}
}
}
六、效果展示
🏆下一篇:华为OD机试真题 Java 实现【跳房子II】【2023 B卷 100分】,附详细解题思路
🏆本文收录于,华为OD机试(JAVA)(2022&2023)
本专栏包含了最新最全的2023年华为OD机试真题,有详细的分析和Java解答。已帮助1000+同学顺利通过OD机考。专栏会持续更新,每天在线答疑。