美文网首页
算法—杨辉三角

算法—杨辉三角

作者: 土豆骑士 | 来源:发表于2020-04-23 06:55 被阅读0次

生成如此的三角形的矩阵,数据可用二维数组来存储展示,int **。

杨辉三角
思路:
  1. 第一层循环控制行数i : 默认[i][0] = 1,[i][i] = 1。
  2. 第二层循环控制列数j : triangle[i][j] = triangle[i-1][j-1] + triangle[i-1][j]。
int** generate1(int numRows, int* returnSize) {
    
    *returnSize = numRows;
    
    int **res = malloc(sizeof(int *)*numRows);
    
    for (int i = 0; i < numRows; i++) {//行
        
        res[i] = malloc(sizeof(int *)*(i+1));//每行的数据个数不一样
        res[i][0] = 1;  //第i行0列 都为1
        res[i][i] = 1;  //第i行i列 都为1
        
        for (int j = 1; j < i; j++) {//列  j < i -> 三角形矩阵
            
            res[i][j] = res[i-1][j-1] + res[i-1][j];
            
        }
    }
    return res;
}
int main(int argc, const char * argv[]) {

    int numRows = 5;
    int returnSize;
    int **returnResult;
    
    returnResult =  generate1(numRows, &returnSize);
    for (int i = 0; i < returnSize; i++) {
        printf("[");
        for (int j = 0;  j<=i; j++) {
            printf(" %d ",returnResult[i][j]);
        }
        printf("]\n");
    }
    return 0;
}
//打印
杨辉三角问题
[ 1 ]
[ 1  1 ]
[ 1  2  1 ]
[ 1  3  3  1 ]
[ 1  4  6  4  1 ]

相关文章

  • C语言 | 杨辉三角形

    C语言 | 杨辉三角形 在屏幕上显示杨辉三角形: 问题分析与算法设计 杨辉三角问题,正是(x + y)的N次方...

  • 杨辉三角 的算法实现

    原文https://www.zhangman523.cn/420.html 杨辉三角 的算法实现 杨辉三角形是排列...

  • IOS 算法(基础篇) ----- 杨辉三角II

    之前我们做过一次杨辉三角题目, 这次我们再看一道 IOS 算法(基础篇) ----- 杨辉三角I[https://...

  • 杨辉三角的5个特性,一个比一个牛皮!

    一、前言 杨辉三角的历史 杨辉三角按照杨辉于1261年所编写的《详解九章算法》一书,里面有一张图片,介绍此种算法来...

  • 2020-02-09

    总结 英语:学会了几个词根 关于算法,今天做了一个杨辉三角,以前觉得杨辉三角很难现在觉得还行。能做的出来,其中用了...

  • 算法—杨辉三角

    生成如此的三角形的矩阵,数据可用二维数组来存储展示,int **。 : 第一层循环控制行数i : 默认[i][0]...

  • LeetCode刷题-杨辉三角

    前言说明 算法学习,日常刷题记录。 题目连接 杨辉三角[https://leetcode-cn.com/probl...

  • LeetCode刷题-杨辉三角II

    前言说明 算法学习,日常刷题记录。 题目连接 杨辉三角II[https://leetcode-cn.com/pro...

  • 打印杨辉三角形

    杨辉三角形Java实现打印杨辉三角形,代码如下:

  • 杨辉三角

    杨辉三角

网友评论

      本文标题:算法—杨辉三角

      本文链接:https://www.haomeiwen.com/subject/ijinihtx.html