杨辉三角又称帕斯卡三角,详细介绍如链接
https://baijiahao.baidu.com/s?id=1607063654204393620&wfr=spider&for=pc
主要思路是利用二维数组存储元素,三角两条边是1不变,其他位置为元素的值是--上一个数组的同位置和前一位置元素值的和。
理解为:temp = arr[i-1][j-1] + arr[i-1][j];
public class Yanghuisanjiao {
public static void main(String[] args) {
Yanghuisanjiao h = new Yanghuisanjiao();
h.yanghuisanjiao(10);
}
public void yanghuisanjiao(int num) {
int[][] arr = new int[num][];
for(int i=0; i<num; i++ ) {
arr[i] = new int[i+1];
for(int j=0; j<i+1; j++ ) {
int temp = 1;
if((j!=0) && (j!=i)){
temp = arr[i-1][j-1] + arr[i-1][j];
}
arr[i][j] = temp;
}
}
for(int i=0; i<arr.length; i++) {
for(int j=0; j<i+1; j++) {
System.out.print(arr[i][j]+" ");
}
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