美文网首页
10 杨辉三角

10 杨辉三角

作者: 小猪也浪漫 | 来源:发表于2020-04-26 17:15 被阅读0次

    一、简单的杨辉三角

    1、找规律

    杨辉三角.jpeg

    仔细观察杨辉三角的图形,你能发现组成它的数有什么排列规律吗?

    它的前几层是这样的:杨辉三角的两条斜边都是由数字1组成的,而其余的数则是等于它肩上的两个数之和,以此类推

    规律.gif

    二、代码实现

    1、一言不合上代码

    /*
     思路:
     1. 第一层循环控制行数i : 默认[i][0] = 1,[i][i] = 1
     2. 第二层循环控制列数j : triangle[i][j] = triangle[i-1][j-1] + triangle[i-1][j]
     */
    int** generate(int numRows){
        int **res = (int **)malloc(sizeof(int*)*numRows);
        for (int i = 0; i < numRows; i++) {
            res[i] = (int *)malloc(sizeof(int)*(i+1));
            res[i][0] = 1;
            res[i][i] = 1;
    
            for (int j = 1; j < i; j++) {
                res[i][j] = res[i-1][j] + res[i-1][j-1];
            }
        }
        return res;
    }
    
    
    int main(int argc, const char * argv[]) {
        printf("杨辉三角\n");
        int numRows = 10;
        int **res = generate(numRows);
        for (int i = 0; i < numRows; i++){
                for (int j = 0; j < numRows-i; j++){
                    // 打印空格
                    printf("  ");
                }
                for (int k = 0; k <= i; k++){
                    //打印数
                    printf("%4d ", res[i][k]);
                }
                printf("\n");
            }
        return 0;
    }
    
    打印.png

    相关文章

      网友评论

          本文标题:10 杨辉三角

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