楊輝三角特色分析(如圖):數組
*第i行有i列ui
*每一行的第一個數都爲1spa
*每一行的最後一個數都爲1code
*當前數(非第一列和最後一列)等於上面一個數+上面一個數的左邊的數blog
實現代碼:io
/** * 要求:輸出楊輝三角 * @author Administration * */ public class YangHuiTest { public static void main(String[] args) { //建立二維數組,定義了行,沒有定義列 int[][] arr = new int[10][]; //動態爲列開闢空間(楊輝三角每行的列數和當前行號是相同的,如:第5行有5列) for (int i = 0; i < arr.length; i++) { arr[i] = new int[i+1]; } //賦值操做 for (int i = 0; i < arr.length; i++) { arr[i][0] = 1;//第i行第1列,即每行的第一列都是1 arr[i][i] = 1;//第i行的第i列,即每行的最後一個數都是1 //接下來是楊輝三角的核心部分 for(int j=1;j<i;j++){//注意這裏的j須要從1開始算起,由於每一行的第一個數咱們已經給賦值了 //當前數值-->上一行該列的數+上一行該列的左邊的第一個數(看圖) arr[i][j]=arr[i-1][j]+arr[i-1][j-1]; } } //打印輸出 for (int i = 0; i < arr.length; i++) { for (int j = 0; j < arr[i].length; j++) { System.out.print(arr[i][j]+"\t"); //沒必要換行 } System.out.println(); //換行 } } }
運行結果:class
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