前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >c++ 杨辉三角

c++ 杨辉三角

作者头像
Ed_Frey
发布2019-07-02 17:15:52
1.4K0
发布2019-07-02 17:15:52
举报
也许,大概,这是2018年倒数第二篇更新吧。最近事超多,各种无暇,感觉比高三还忙,吃饭都是在赶时间。

前几天刚入c++,感觉很多python的东西遮住了视线,就好比第一章后面几节有个题目,杨辉三角。用惯了python的列表,然后c++是数组,怎么用就有点懵逼,python的列表可以随意增加元素,可c++数组是定义之后就固定长度了。各种苦思冥想,虽然有看到书本上一些简洁又牛逼的答案,但是如何用已有的只是来实现,我就是想钻钻看,上周某天午休的时候想着想着睡着了……

后来的后来,就有了下面的实现代码:

#include <iostream>

#include <iomanip>

using namespace std;

int main(){

int n=10;

int arraya[n]={1,},arrayb[n+1]={1,};

for(int j=1;j<=n;++j){

for(int i=0;i<=j-1;++i){

arrayb[i+1]=arraya[i]+arraya[i+1];

cout<<setfill(' ')<<setw(4)<<arrayb[i];

}

for(int i=0;i<=j-1;++i){

arraya[i]=arrayb[i];

}

cout<<endl;

}

}

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

有发给小伙伴看,说没看明白我想干啥

可能讲一下,就没那么懂了。先定义一个n个(10个)元素的数组,还有一个11个元素的数组,首位是1,后面都是0。j表示行数,一共10行;i表示数组元素的下标,从0开始,数组b中的元素是数组a中对应下标的2个元素之和,遍历出的数组b中的元素即杨辉三角的每行元素。后面一段循环就是把数组b赋值给数组a,然后就可以一直循环下去了。

其实数组a是10位,数组b是11位,而我只是把杨辉三角需要的位数给输出了,如果把b数组全部遍历一下输出,结果是一个10行*11列的矩阵,每行后面的位数全部是0。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-11-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 奔跑的键盘侠 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档