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

#include<stdio.h>
int main()
{
    int n, num[32][32];
    int i, j, k;
    while( scanf( "%d" , &n ) != EOF )
    {
          for( i = 1 ; i <= n ; i++ )
             for( j = 1 ; j <= i ; j++ )
          {
               if( i == j||j==1 )
               {
                  num[i][j] = 1;
                  printf( i==j?"%d\n":"%d ",num[i][j] );
               }
               else
                {
                  num[i][j] = num[i-1][j-1] + num[i-1][j];
                          printf(  i==j? "%d\n":"%d " , num[i][j] );
                }
          }
          puts( "" );
    }
    return 0;
   
}

posted on 2011-11-16 00:46  狸の舞  阅读(594)  评论(0编辑  收藏  举报