HDOJ 2032 杨辉三角

Problem Description
还记得中学时候学过的杨辉三角吗?具体的定义这里不再描述,你可以参考以下的图形:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 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]);
        }
    }
}

你可能感兴趣的:(HDOJ 2032 杨辉三角)