用二维数组打印一个10行杨辉三角
package com.xin;
public class Main {
public static void main(String[] args) {
/**
* 使用二维数组打印一个10行杨辉三角
*
* 【提示】
* 1. 第一行有 1 个元素, 第 n 行有 n 个元素
* 2. 每一行的第一个元素和最后一个元素都是 1
* 3. 从第三行开始, 对于非第一个元素和最后一个元素的元素是其上面+上面的左边的和
* 即:yanghui[i][j] = yanghui[i-1][j-1] + yanghui[i-1][j];
* 如下就是杨辉三角
*
* 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
*/
//初始化一个行数为10的数组
int[][] yanghuiArr = new int[10][];
//给数组赋值
for (int i = 0; i < yanghuiArr.length; i++) {
//每一行都是一个一维数组
yanghuiArr[i] = new int[i + 1];
//给首尾都赋值为1
yanghuiArr[i][0] = yanghuiArr[i][i] = 1;
//给非首位的位置赋值
for (int j = 1; j < yanghuiArr[i].length - 1; j++) {
yanghuiArr[i][j] = yanghuiArr[i - 1][j - 1] + yanghuiArr[i - 1][j];
}
}
//遍历数组
for(int i=0;i<yanghuiArr.length;i++){
for(int j=0;j<yanghuiArr[i].length;j++){
System.out.print(yanghuiArr[i][j]+"\t");
}
System.out.println();
}
}
}