您的位置:首页 > 编程语言 > C语言/C++

蓝桥杯基础练习 杨辉三角

2015-12-15 17:57 393 查看
/*
问题描述
杨辉三角形又称Pascal三角形,它的第i+1行是(a+b)i的展开式的系数。

  
它的一个重要性质是:三角形中的每个数字等于它两肩上的数字相加。

  
下面给出了杨辉三角形的前4行:

  
1

  
1 1

  
1 2 1

  
1 3 3 1

  
给出n,输出它的前n行。

输入格式
输入包含一个数n。

输出格式
输出杨辉三角形的前n行。每一行从这一行的第一个数开始依次输出,中间使用一个空格分隔。请不要在前面输出多余的空格。
样例输入
4
样例输出
1
1 1
1 2 1
1 3 3 1
数据规模与约定
1 <= n <= 34。
*/
#include <iostream>

using namespace std;

#define NUM 34

int main()
{
int arr[2][NUM] = {1};
int flag = 1;
int n;

cin >> n;
for(int i = 0;i < n;++i)
{
flag = 1 - flag;
for(int j = 0;j < i + 1;++j)
{
if(0 == j)
{
arr[flag][j] = 1;
cout << arr[flag][j];
}
else
{
arr[flag][j] = arr[1 - flag][j - 1] + arr[1 - flag][j];
cout << " " << arr[flag][j];
}
}
cout << endl;
}

return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  C++ 算法 杨辉三角