Problem Description
还记得中学时候学过的杨辉三角吗?具体的定义这里不再描述,你可以参考以下的图形:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
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
Author
lcy
AC代码:
1 import java.util.Scanner; 2 3 public class Main { 4 public static void main(String[] args) { 5 Scanner sc = new Scanner(System.in); 6 while (sc.hasNext()) { 7 int N = sc.nextInt(); 8 int[][] a = new int[N][N]; 9 10 for (int i = 0; i < N; i++) { 11 a[i][0] = 1; 12 a[i][i] = 1; 13 } 14 15 for (int i = 1; i < N; i++) { 16 for (int j = 1; j < i; j++) a[i][j] = a[i - 1][j] + a[i - 1][j - 1]; 17 } 18 19 for (int i = 0; i < N; i++) { 20 for (int j = 0; j <= i; j++) { 21 if (j == N - 1) { 22 System.out.println(a[i][j]); 23 break; 24 } 25 System.out.print(a[i][j] + " "); 26 } 27 System.out.println(); 28 } 29 System.out.println(); 30 } 31 } 32 }