zoukankan      html  css  js  c++  java
  • 杨辉三角

    用一维数组或二维数组打印杨辉三角

    #include <stdlib.h>
    #include <math.h>
    #include <iostream>
    using namespace std;
    
    int a[15][15];
    int aa[1024];
    void yang_2D(){//二维数组打印杨辉三角 
        int n;
        scanf("%d",&n);
        for(int i=1;i<=n;i++){
            for(int j=1;j<=i;j++){
                if(j==1) a[i][j]=1;
                else a[i][j]=a[i-1][j]+a[i-1][j-1];
            }
        }
        for(int i=1;i<=n;i++){
            for(int k=1;k<=n-i;k++) {
                    printf(" ");
                }
            for(int j=1;j<=i;j++){
                printf("%d  ",a[i][j]);
            }
            printf("
    ");
        }
    } 
    void yang_1D(){//一维数组打印杨辉三角 
        int n;
        int all=0,last=0;
        scanf("%d",&n);
        for(int i=1;i<=n;i++){
            last=all-1;                                  //last记录第i-1行前面共多少个元素 
            all+=i-1;                                    //all记录第i行前面共多少个元素 
            for(int j=1;j<=i;j++){
                if(j==1||i==j) aa[all+j]=1;              //每行第一个元素和最后一个元素是1 
                else {
                    aa[all+j]=aa[last+j]+aa[last+j+1];   //每个元素的值等于上一行对应元素和后对应元素后一元素之和 
                }
            }
        }
        all=0;
        for(int i=1;i<=n;i++){
            all+=i-1;
            for(int k=1;k<=n-i;k++) printf(" ");
            for(int j=1;j<=i;j++) printf("%d  ",aa[all+j]);
            printf("
    ");
        }
    }
    int main(){
        yang_1D();
        yang_2D();
        return 0;
    } 

  • 相关阅读:
    [atARC123F]Insert Addition
    3.1 概述
    2.5 信道的极限容量
    2.4 编码与调制
    2.3 传输方式
    tp6_004路由配置
    tp6_003多应用配置
    tp6_002规范和配置
    tp6_001安装和运行
    问题解决:tp6多应用无法获取controller 和 action怎么办
  • 原文地址:https://www.cnblogs.com/xusi/p/14259564.html
Copyright © 2011-2022 走看看