• I00001 杨辉三角


    杨辉三角国际上称为Pascal三角形。

    杨辉三角与菲波拉契数列也是有关系的,看以下的图就知道了。

    这里给出来两种方法的实现,一是使用二维数组来存储杨辉三角,二是使用一维数组来存储杨辉三角并且一边计算一边输出结果。

    使用一维数组作为存储,实现打印杨辉三角,需要的技巧更高一些。

    本文插图来自维基百科。

    #include <stdio.h>
    
    // 使用二维数组的杨辉三角程序
    void pascal1()
    {
        int n, i, j;
    
        scanf("%d", &n);
        int pascal[n][n];
    
        for(i=0; i<n; i++)
            for(j=0; j<=i; j++) {
                if(j == 0 || j == i)
                    pascal[i][j] = 1;
                else
                    pascal[i][j] = pascal[i-1][j] +pascal[i-1][j-1];
            }
    
        for(i=0; i<n; i++) {
            for(j=0; j<=i; j++)
                printf("%d ", pascal[i][j]);
            printf("
    ");
        }
    }
    
    // 使用一维数组的杨辉三角程序
    void pascal2()
    {
        int n, i, j;
    
        scanf("%d", &n);
        int pascal[n];
    
        for(i=0; i<n; i++) {
            for(j=i; j>=0; j--) {
                if(j == i || j == 0)
                    pascal[j] = 1;
                else
                    pascal[j] += pascal[j-1];
                printf("%d ", pascal[j]);
            }
            printf("
    ");
        }
    }
    
    int main(void)
    {
        pascal1();
        pascal2();
    
        return 0;
    }

    两种打印杨辉三角的程序,分别输入阶数5和6,其输出结果如下:

    5
    1
    1 1
    1 2 1
    1 3 3 1
    1 4 6 4 1
    6
    1
    1 1
    1 2 1
    1 3 3 1
    1 4 6 4 1
    1 5 10 10 5 1

  • 相关阅读:
    vue中select设置默认选中
    验证码
    JS图片src转义
    int main(int argc, char** argv) 以及CommandLineParser
    Visual Studio2013 配置opencv3.3.0 x64系统
    ubuntu16.04 下安装 visual studio code 以及利用 g++ 运行 c++程序
    第三次作业
    第二次作业
    作业一
    第四次作业
  • 原文地址:https://www.cnblogs.com/tigerisland/p/7564927.html
Copyright © 2020-2023  润新知