java列印楊輝三角
阿新 • • 發佈:2021-07-25
java列印楊輝三角
需求: 列印楊輝三角形(行數可以鍵盤錄入)
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1 我們通過觀察發現:
1.每一行的第一列和最後一列都是1
2.從第三行開始,從第二列開始,這個數字等於他上一行的前一列和上一行本列之和
public static void printTriangle() { Scanner sc = new Scanner(System.in); System.out.print("輸入楊輝三角行數: "); int n = sc.nextInt(); int[][] arr = new int[n][n]; //把每一行的第一列和最後一列設定成1 for (int i = 0; i < arr.length; i++) { arr[i][0] = 1; arr[i][i] = 1; } //設定中間元素 : 從第三行開始,從第二列開始,這個數字等於他上一行的前一列和上一行的本列之和 for (int i = 2; i < arr.length; i++) { for (int j = 1; j <= i; j++) { arr[i][j] = arr[i - 1][j - 1] + arr[i - 1][j]; } } //遍歷二維陣列 for (int i = 0; i < arr.length; i++) { for (int j = 0; j <= i; j++) { System.out.print(arr[i][j] + "\t"); } System.out.println(); } sc.close(); }
簡化版
public static void printTriangle2() { Scanner sc = new Scanner(System.in); System.out.print("輸入楊輝三角行數: "); int n = sc.nextInt(); int[][] arr = new int[n][n]; for (int i = 0; i < n; i++) { for (int j = 0; j <= i; j++) { if (j == 0 || j == i) { //把每一行的第一列和最後一列設定成1 arr[i][j] = 1; } else { //設定中間元素 : 從第三行開始,從第二列開始,這個數字等於他上一行的前一列和上一行的本列之和 arr[i][j] = arr[i - 1][j - 1] + arr[i - 1][j]; } System.out.print(arr[i][j] + "\t"); } System.out.println(); } sc.close(); }