原九度oj题目
题目描述:
输入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<bits/stdc++.h>
using namespace std;
#define maxn 105
int buf[maxn][maxn];
int main(){
int N;
while(scanf("%d",&N)!=EOF){
memset(buf,0,sizeof(buf));
for(int i=1;i<=N-1;i++){//赋予初值
buf[i][1] = 1;
buf[i][i+1] = 1;
}
for(int i=2;i<=N-1;i++){
for(int j=2;j<i+1;j++){//规律
buf[i][j] = buf[i-1][j-1]+buf[i-1][j];
}
}
for(int i=1;i<=N-1;i++){
for(int j=1;j<=N;j++){
if(buf[i][j]!=0) {//输出非0数
if(j==1) printf("%d",buf[i][j]);
else printf(" %d",buf[i][j]);
}
else break;
}
printf("\n");
}
}
return 0;
}