HDOJ 2032楊輝三角

2884 ワード

Problem Description中学校で習った楊輝三角を覚えていますか?具体的な定義はここでは説明しませんが、1 1 1 1 1 2 1 1 3 1 4 4 1 5 10 5 1を参照してください.
Input入力データは複数の試験例を含み、各試験例の入力は正の整数n(1<=n<=30)のみを含み、出力する楊輝三角の層数を表す.
Outputは各入力に対応しています.対応する層数の楊輝三角を出力してください.各層の整数の間にスペースで隔てられ、各楊輝三角の後ろに空行を追加します.
Sample Input 2 3
Sample Output 1 1 1
1 1 1 1 2 1
import java.util.Scanner;

public class Main {
    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        while(sc.hasNext()){
            int n=sc.nextInt();
            int[][] arr=new int[n][];
            for(int i=0;i<n;i++){
                arr[i]=new int[i+1];
                for(int j=0;j<=i;j++){
                    if(j==0||j==i){
                        arr[i][j]=1;
                    }else{
                        arr[i][j]=arr[i-1][j-1]+arr[i-1][j];
                    }
                }
            }
            print(arr);
            System.out.println();// : 
        }
    }
    public static void print(int[][] a){// 
        for(int i=0;i<a.length;i++){
            for(int j=0;j<a[i].length-1;j++){
                System.out.print(a[i][j]+" ");
            }
            System.out.println(a[i][a[i].length-1]);
        }
    }
}