杭电OJ-2032_杨辉三角

还记得中学时候学过的杨辉三角吗?具体的定义这里不再描述,你可以参考以下的图形:
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;
	}
}


posted @ 2015-09-01 20:52  A_yes  阅读(219)  评论(0编辑  收藏  举报