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

code:

 1 #include<iostream>
 2 using namespace std;
 3 
 4 void zuhe(int n, long long int jie, int i)
 5 {
 6     if(i>=n/2)
 7         return;
 8     jie = jie*(n-i)/(1+i);
 9     printf(" %lld",jie);
10     if(i*2==n-2)
11         return;
12     zuhe(n,jie,i+1);
13     printf(" %lld",jie);
14 }
15 
16 int main(){
17     int n,r,j,i;
18     j=0;
19     while(cin >> n)
20     {
21         for(i=0;i<n;i++)
22         {
23             cout << '1';
24             if(i>0)
25             {
26                 zuhe(i,1,0);
27                 cout << " 1";
28             }
29             cout <<endl;
30         }
31         cout << endl;
32     }
33     return 0;
34 }
原文地址:https://www.cnblogs.com/gaosshun/p/3502788.html