将二项式(a + b)^ i展开,其系数构成杨辉三角形

- 杨辉三角除第一行外,每一行的值是上一行相邻的两个数相加
- 左右的边上都是 1 ,可以看做0 + 1(在最外层加上一个0)
#include<queue>#include<iostream>using namespace std;void Yang(int n){int count = n;//计数器int L = 0, R = 0;//左右模拟的0值int first = 1;//第一行的第一个数int second = 1;//第一行的第二个数int value = 0;//计算需要插入队列的值queue<int> s;//s队列s.push(first); // 1s.push(second); // 1 1// 行数>1while (count > 1)//循环插入队列{s.push(R); // 在上一行末尾放一个0,便于操作s.push(1); // 该行从1开始,把1放入while (s.front() != 0) //扫描到0,走到最右边了,该行结束{ //两个两个相加,并加入队列value = s.front();s.pop();value += s.front();s.push(value);}s.pop(); //把最右边的标识符0,删除count--;}for (int i = 0; i <= n; i++)//循环输出{cout << s.front() << " ";s.pop();}}int main(){Yang(5);return 0;}
