码迷,mamicode.com
首页 > 其他好文 > 详细

杨辉三角形

时间:2019-12-07 19:46:44      阅读:91      评论:0      收藏:0      [点我收藏+]

标签:int   也有   开始   构建   png   string   size   思路   back   

这类题目,一般是求第n行长啥样,也有求从第一行打印到第n行的

此处,只做了第n行长啥样

#include<stdio.h>
#include<string.h>
//求 杨辉三角形的第n行长啥样

int a[34];
int b[34];

int main(){
    memset(a,0,sizeof(a));
    memset(b,0,sizeof(b));
    a[1] = 1;
    a[2] = 1;
    b[1] = 1;
    int n;
    scanf("%d",&n);
    for(int i = 3;i <= n;i++){
        for(int j = 2; j <= i-1;j++){
            b[j] = a[j - 1] + a[j];
        }
        b[i] = 1;
        for(int x = 1; x <= i;x++){
            a[x] = b[x];
        }
    }
    for(int i = 1;i <= n;i++)
        if(i == 1)
            printf("%d",a[i]);
        else
            printf(" %d",a[i]);
    return 0;
}

技术图片

 

 

思路:

技术图片

 

 

需要两个数组a,b,先将a[1] = 1;a[2] = 1
再求第n行数组长啥样时,可以先以a为基础,计算b的值,然后将b复制进a

由上图的连线可以知道:

for(int j = 2; j <= i-1;j++){
            b[j] = a[j - 1] + a[j];
        }
        b[i] = 1;

每一个新派生的行,第一位和最后一位是1,可以从第2位开始,往后到第n-1位遍历构建

 

然后外层套个大循环,由3到n不断遍历构建即可

 

 

 

 

杨辉三角形

标签:int   也有   开始   构建   png   string   size   思路   back   

原文地址:https://www.cnblogs.com/expedition/p/12002972.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!