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
";
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
";
}
cout << endl;
}
}