杭电OJ-2032_杨辉三角
还记得中学时候学过的杨辉三角吗?具体的定义这里不再描述,你可以参考以下的图形:
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
根据所在行号,列号和左侧数字计算出该数据:
该数据=(行号-列号)*左侧数据/列号 (列号为去掉两端 1 后的编号)
#include<iostream> //杨辉三角,(行数-列数)*左侧数值/列数
using namespace std;
int main()
{
int n;
while (cin >> n)
{
cout << "1\n";
for (int i = 2,left=1; i <= n; i++,left=1)
{
cout << "1 ";
for (int j = 1; j <= i - 2; j++) //列号为去掉两端 1 后的编号
{
left = (i - j)*left / j;
cout << left << ' ';
}
cout << "1\n";
}
cout << endl;
}
}