問題描述:
楊輝三角形又稱Pascal三角形,它的第i+1行是(a+b)i的展開式的系數。
它的一個重要性質是:三角形中的每個數字等于它兩肩上的數字相加。
下面給出了楊輝三角形的前4行:
1
1 1
1 2 1
1 3 3 1
給出n,輸出它的前n行。
輸入格式
輸入包含一個數n。
輸出格式
輸出楊輝三角形的前n行。每一行從這一行的第一個數開始依次輸出,中間使用一個空格分隔。請不要在前面輸出多餘的空格。
樣例輸入
4
樣例輸出
1
1 1
1 2 1
1 3 3 1
資料規模與約定
1 <= n <= 34。
package bb;
import java.util.Scanner;
public class 楊輝三角 {
public static void main(String[] args) {
int n, i, j;
int arr[][] = new int[34][34];
Scanner sc = new Scanner(System.in);
n = sc.nextInt();
sc.close();
for (i = 0; i < n; i++) {
for (j = 0; j < n; j++) {
// 第一列
arr[i][0] = 1;
if (i == j) {
// 對角線
arr[i][j] = 1;
}
}
}
// 求和
for (i = 2; i < n; i++) {
for (j = 1; j < n; j++) {
arr[i][j] = arr[i - 1][j - 1] + arr[i - 1][j];
}
}
// 輸出
for (i = 0; i < n; i++) {
for (j = 0; j <= i; j++) {
System.out.print(arr[i][j] + " ");
}
System.out.println();
}
}
}