先去百度什么是杨辉三角。
不难看出,杨辉三角的的性质有:
-
第一行有1个元素,第n行就有n个元素
-
每一行的第一个元素和最后一个元素都是1
-
从第三行开始,每个数字等于上一行的左右两个数字之和
-
对于非最后一个元素和非第一个元素都有a[i] [j] = a[i-1] [j] + a[i-1] [j-1]
我这里是是10项的杨辉三角
public class HelloWorld {
public static void main(String []args) {
//先确定有多少行,至于每行有多少个下面在扩容。
int[][] yanghui = new int[10][];
for(int i = 0; i < yanghui.length; i++){
//给每一个行的一维数组开空间
//因为杨辉三角每一行的元素都是逐个递增的
yanghui[i] = new int[i+1];
//现在空间有了,接下来为他赋值。
//给每一个一维数组赋值
for(int j = 0; j < yanghui[i].length; j++){
//每一行的头元素和尾元素赋值为1
if(j == 0 || j == yanghui[i].length -1){
yanghui[i][j] = 1;
}else{
//其他的就赋值为yanghui[i-1][j]+ yanghui[i-1][j-1];
yanghui[i][j] = yanghui[i-1][j]+ yanghui[i-1][j-1];
}
}
}
//遍历输出杨辉三角
for(int i = 0; i < yanghui.length; i++){
for(int j = 0 ; j < yanghui[i].length; j++){
System.out.print(yanghui[i][j]+"\t");
}
System.out.println();
}
}
}
//输出结果
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
1 7 21 35 35 21 7 1
1 8 28 56 70 56 28 8 1
1 9 36 84 126 126 84 36 9 1
你好,我是hello,word !是一名程序员小白,期待与你下次再见!