Java-杨辉三角
程序员文章站
2022-07-10 20:27:20
...
开始
涉及到的知识一维数组,二维数组,for循环
为了容易看规律,来个山寨版杨辉三角
package com.ewtest;
public class Seven {
public static void main(String[] args) {
int m=10; //假设打印九层杨辉三角
int a[][]=new int[10][10]; //定义一个二维数组a
a[0][1]=1; //赋值第一个元素的值,用于获得后面的值
for(int i=1;i<m;i++){
for(int j=1;j<=i;j++){
a[i][j]=a[i-1][j]+a[i-1][j-1];
System.out.print(a[i][j]+" ");
}
System.out.println();
}
}
}
结果:
从上图中我们可以找到以下规律:
-
假设行为n,则第n行就有n个元素即数字。
-
每一行第一个元素和最后一个元素都为1。
-
每一个元素的值都为这个元素的上面的元素的值加上上面元素的左边元素的值
OK。现在各位可以开始入手盗版杨辉三角了。
接下来就是正版形态的杨辉三角。
代码:
package com.ewtest;
public class Seven {
public static void main(String[] args) {
int m=10; //假设打印九层杨辉三角
int a[][]=new int[10][10]; //定义一个二维数组a
a[0][1]=1; //赋值第一个元素的值,用于获得后面的值
for(int i=1;i<m;i++){
for (int k =1 ; k <= m-i; k++) {
System.out.print(" ");
}
for(int j=1;j<=i;j++){
a[i][j]=a[i-1][j]+a[i-1][j-1];
System.out.print(a[i][j]+" ");
}
System.out.println();
}
}
}
结果:
出现这个正版杨辉三角图的原因想必各位以及看出来了,就是多了这一段代码
for (int k =1 ; k <= m-i; k++) {
System.out.print(" ");
}
原理是指定每一行数量都一样,没有元素的地方就有空格补齐,即每一行总数s=元素个数n+(s-n)个空格,通过for循环是元素减少,空格变多,这样一层一层的用空格挤,就变成了正版的杨辉三角了。
下一篇: java实现图片上传