- 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
典型的递推过程。
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(" "); 36 } 37 38 } 39 return 0; 40 }