打印杨辉三角

Posted helloworld2019

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了打印杨辉三角相关的知识,希望对你有一定的参考价值。

分析:

首先要用到队列queue,先进后出

最先q.push(1)属于预存1,杨辉三角上一层比下一层的数字少1

第0层 输出1   队列最终状态  01

第二层 输出 1 1 队列最终状态 011

第三层 输出 1 2 1 队列最终状态 0121

......

技术图片
//打印杨辉三角 
#include<iostream>
#include<queue> 
using namespace std;
void gcd(int n){
    queue<int> q;
    q.push(1);
    int i,j,s,tmp,t;
    for(i=0;i<n;i++){
        q.push(0);
        s=0;
        for(j=0;j<i+2;j++){
            t=q.front();
            q.pop();
            tmp=t+s;
            q.push(tmp);
            s=t;
            if(j!=i+1) cout<<s<<" ";
        }
        cout<<endl;
    }
    
}
int main()
{
    int n;
    cin>>n;
    gcd(n);
} 
View Code

 

10
1
1 1
1 2 1
1 3 3 1
1 4 6 4 1
1 5 10 10 5 1
1 6 15 20 15 6 1
1 7 21 35 35 21 7 1
1 8 28 56 70 56 28 8 1
1 9 36 84 126 126 84 36 9 1

  

以上是关于打印杨辉三角的主要内容,如果未能解决你的问题,请参考以下文章

JavaScript笔试题(js高级代码片段)

打印杨辉三角

打印三角 scala秒杀java

argparse 代码片段只打印部分日志

打印杨辉三角

python打印杨辉三角的两种方法及详解