基礎練習 楊輝三角形
問題描述
楊輝三角形又稱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。
解題思路:用二維數組結題,發現楊輝三角規律為下一行從第二個數開始為上一行的兩數相加,即可解題,主要難點,包含比較多的取值範圍的控制,需要多次調試才可正确,一定要細心。
代碼如下:
import java.util.Scanner;
public class Main {
/**
* @param args
*/
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc=new Scanner(System.in);
int n=sc.nextInt();
int a[][]=new int[n][n];//記住二維數組的定義
for(int i=0;i<n;i++){
a[i][0]=1;
a[i][i]=1;
if(i>1){
for(int j=1;j<i;j++){//需要自定義的隻有中間的
//是以範圍在1~i之間
a[i][j]=a[i-1][j-1]+a[i-1][j];
}
}
}
for(int i=0;i<n;i++){
for(int j=0;j<=i;j++){//注意每個取值範圍一定要細心
System.out.print(a[i][j]+" ");
}
System.out.println();
}
}
}