题目描述:
输入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
#include
#include
#include
#include
#include
int yang[];
int main(int argc, char const *argv[])
{
int n;
while(scanf("%d",&n) != EOF) {
memset(yang, , sizeof(yang));
yang[] = , yang[] = ;
printf("%s\n","1 1");
for(int i = ; i <= n; i++) {
yang[] = ;
for(int k = (i+)/; k >= ; k--) {
yang[k] = yang[k] + yang[k-];
}
for(int k = , j = i; k <= (i+)/; k++,j--) {
yang[j] = yang[k];
}
bool ifF = true;
for(int j = ; j <= i; j++) {
if(ifF) {
printf("%d",yang[j]);
ifF = false;
}
else {
printf(" %d",yang[j]);
}
}
puts("");
}
}
return ;
}
从后往前加,可以只用一个数组
手机扫一扫
移动阅读更方便
你可能感兴趣的文章