#C08L06P04. C08.L06.递归基础与递归算法.程序填空3.杨辉三角(递归)
C08.L06.递归基础与递归算法.程序填空3.杨辉三角(递归)
题目描述
计算并输出杨辉三角。
输入格式
一个整数 n (1 <=n <= 20 )
输出格式
杨辉三角数字
样例
10
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
1 7 21 35 35 21 7 1
1 8 28 56 70 56 28 8 1
1 9 36 84 126 126 84 36 9 1
程序填空
#include <iostream>
using namespace std;
//杨辉三角形的特征就是,一个数等于两肩数之和
long long PascalsTriangle(int x, int y) //计算第 x 行,第 y 列的杨辉三角数字
{
if(x==1&&y==1) //递归基,最顶端
return 填空(1);
else if(y>x) //递归基,三角形的右侧
return 填空(2);
else if(x==y) //递归基,右边界
return 填空(3);
else if(y==1) //递归基,左边界
return 填空(4);
else //二分递归, 按照两肩的位置进行递归
return 填空(5) + 填空(6);
}
int main()
{
int n,i,j;
cin>>n;
for(i=1;i<=n;i++)
{
for(j=1;j<=i;j++)
cout<<PascalsTriangle(i,j)<<" ";
printf("\n");
}
return 0;
}
填空(1):{{ input(1) }}
填空(2):{{ input(2) }}
填空(3):{{ input(3) }}
填空(4):{{ input(4) }}
填空(5):{{ input(5) }}
填空(6):{{ input(6) }}
相关
在以下作业中: