杨辉三角java

杨辉三角

描述:

还记得中学时候学过的杨辉三角吗?具体的定义这里不再描述,你可以参考以下的图形:

1

1 1

1 2 1

1 3 3 1

1 4 6 4 1

1 5 10 10 5 1

输入
输入数据包含多个测试实例,每个测试实例的输入只包含一个正整数n(1 <= n <= 30),表示将要输出的杨辉三角的层数。

输出
对应于每一个输入,请输出相应层数的杨辉三角,每一层的整数之间用一个空格隔开,每一个杨辉三角后面加一个空行。

输入样例 1

2
3

输出样例 1

1
1 1

1
1 1
1 2 1

代码:

import java.util.Scanner;
class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int n;
        while (sc.hasNextInt()) {
            n = sc.nextInt();
            if (n >= 1 && n <= 30) {
                int[][] a = new int[n][n];
                for (int i = 0; i < n; i++) {
                    for (int j = 0; j < i + 1; j++) {
                        if (i == j||j==0) {
                            a[i][j] = 1;
                        } else {
                            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 + 1; j++) {
                        System.out.print(a[i][j] );
                        if(j!=i){
                            System.out.print(" ");
                        }
                    }
                    System.out.println();
                }
                System.out.println();
            }
        }
    }
}

你可能感兴趣的:(java)