1216: 杨辉三角
时间限制: 1 Sec
内存限制: 128 MB
提交: 1
解决: 0
题目描述
还记得中学时候学过的杨辉三角吗?具体的定义这里不再描述,你可以参考以下的图形:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
输入
输入数据包含多个测试实例,每个测试实例的输入只包含一个正整数n(1<=n<=30),表示将要输出的杨辉三角的层数。
输出
对应于每一个输入,请输出相应层数的杨辉三角,每一层的整数之间用一个空格隔开,每一个杨辉三角后面加一个空行。
样例输入
2 3
样例输出
1
1 1
1
1 1
1 2 1
经典的问题啊各种oj都有,不解释直接代码吧
#define _CRT_SBCURE_MO_DEPRECATE
#include<iostream>
#include<stdlib.h>
#include<stdio.h>
#include<cmath>
#include<algorithm>
#include<string>
#include<string.h>
#include<set>
#include<queue>
#include<stack>
#include<functional>
using namespace std;
int b[35], n;
int main()
{
while (scanf("%d", &n) != EOF) {
b[0] = 1;
printf("1\n");
for (int i = 1; i < n; i++) {
b[i] = 1;
for (int j = i - 1; j > 0; j--)
b[j] = b[j] + b[j - 1];
for (int j = 0; j <= i; j++) {
printf("%d", b[j]);
if (j != i)
printf(" ");
}
printf("\n");
}
printf("\n");
}
system("pause");
return 0;
}