前言
杨辉三角演示与分析
杨辉三角
使用二维数组,打印一个10行的杨辉三角
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
……
规律:
1)第一行有一个元素 第 n 行有 n 个元素
2)每一行第一个元素和最后一个元素都为 1
3)从第三行开始 , 对于非第一个元素和最后一个元素的值
arr [i] [j] = arr[i - 1] [j] + arr[ i - 1] [j - 1]; (该数为:上一行的该列 + 上一行的前一列的值)
演示:
publicclassYangHui { publicstaticvoidmain(String[] args) { int[][] yangHui=newint[10][];// 十行杨辉三角所以有十个一维数组// 遍历二维数组的每个一维数组for(inti=0; i<yangHui.length; i++) { // 给每个一维数组(行)开辟空间yangHui[i] =newint[i+1]; for(intj=0; j<yangHui[i].length; j++) { //每一行的第一个元素和最后一个元素都是1if(j==0||j==yangHui[i].length-1) { yangHui[i][j] =1; } else {// 不是第一个和最后一个就是中间的yangHui[i][j] =yangHui[i-1][j] +yangHui[ i-1][j-1]; } } } // 遍历输出for( inti=0 ; i<yangHui.length ; i++) { for(intj=0 ; j<yangHui[i].length ; j++) { System.out.print(yangHui[i][j] +" "); } System.out.println(); } } }