Input

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

Output

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

Sample Input

2 3

Sample Output

1
1 1

1
1 1
1 2 1
乍一看觉得很难办,其实只要把整个杨辉三角写好,他要多少层,你就打印多少层。
代码如下:
#include <stdio.h>
int a[35][35];
int main()
{
    int i,j,n;
    for(i = 0;i < 35;i++)
        for(j = 0;j <= i;j++)
            a[i][j] = 1;
    for(i = 2;i < 35;i++)
        for(j = 1;j < i;j++)
            a[i][j] = a[i-1][j-1]+a[i-1][j];
    while(scanf("%d",&n) != EOF){    
        for(i = 0;i < n;i++)
            for(j = 0;j <= i;j++)
                printf(j==i ? "%d\n" : "%d ",a[i][j]);
        printf("\n");
    }
    return 0;
}