/**
* 打印杨辉三角(Pascal's triangle / 二项展开式系数)
*/
#include <bits/stdc++.h>
using namespace std;
int main() {
ios::sync_with_stdio(false);
int n;
cin >> n;
queue<int> q;
int i = 1, j, s = 0, t, u;
const int k = 0;
q.push(i); // 预先放下第一行的两个系数1
q.push(i);
for(i = 1; i <= n; ++i) {
cout << endl;
q.push(k); // 在各行间插入一个0
for(j = 1; j <= i+2; ++j) {
t = q.front();
q.pop();
u = s + t; // 计算下一行的系数并入队
q.push(u);
s = t;
if(j != i+2) cout << s << " "; // 打印一个系数,第i+2个系数是0
}
}
return 0;
}
打印杨辉三角系数(Pascal's Triangle / 二项式展开系数)队列实现
最新推荐文章于 2021-04-16 13:30:06 发布