九度-题目1073:杨辉三角形

http://ac.jobdu.com/problem.php?pid=1073
题目描述:

输入n值,使用递归函数,求杨辉三角形中各个位置上的值。

输入:

一个大于等于2的整型数n

输出:

题目可能有多组不同的测试数据,对于每组输入数据,
按题目的要求输出相应输入n的杨辉三角形。

样例输入:
6
样例输出:
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
来源:
2002年清华大学计算机研究生机试真题(第I套)

  典型的递推过程。

 

 1 #include <stdio.h>
 2 
 3 using namespace std;
 4 
 5 const int N=1000;
 6 int triangle[N][N];
 7 
 8 int main()
 9 {
10     int n;
11     while(scanf("%d", &n)!=EOF)
12     {
13         triangle[2][1]=triangle[2][0]=1;
14 
15         for(int i=3; i<=n; i++)
16             for(int j=0; j<i; j++)
17         {
18             if(j==0)
19                 triangle[i][j]=1;
20             else if(j==i)
21                 triangle[i][j]=1;
22             else
23                 triangle[i][j]=triangle[i-1][j-1]+triangle[i-1][j];
24         }
25 
26         for(int i=2; i<=n; i++)
27         {
28             for(int j=0; j<i; j++)
29             {
30                 if(j==0)
31                     printf("%d", triangle[i][j]);
32                 else
33                     printf(" %d", triangle[i][j]);
34             }
35             printf("\n");
36         }
37 
38     }
39     return 0;
40 }

 

posted @ 2017-04-23 14:48  悟空的爸爸  阅读(233)  评论(0编辑  收藏  举报