天天看點

基礎練習 楊輝三角形 java實作 藍橋杯

基礎練習 楊輝三角形

問題描述

楊輝三角形又稱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();
		}

	}

}

           

繼續閱讀