10 杨辉三角

一、简单的杨辉三角

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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 杨辉三角形又称Pascal三角形,它的第i+1行是(a+b)i的展开式的系数。 它的一个重要性质是:三角形中的每个...
    FiveZM阅读 306评论 0 0
  • 看着朋友同学陆陆续续结婚是什么感受 就像当年考试看着他们一个个提前交卷的噩梦重现眼前 你们真的不再检查一下么?
    ed62b9204198阅读 158评论 0 1
  • 昨天和萱姐阅读绘本《火车来了》,其中有许多的小细节值得记录。 一,连蒙带猜的识字。 当萱姐看到书名时说“妈妈,我知...
    缘缘不断阅读 2,758评论 1 2
  • “你还在寻找什么,是否已丢失太多,这里每一种答案,都不适于你我……”“易晨玥,你手机响了。”易晨玥不急不慢的走出房...
    易晨玥阅读 374评论 0 0
  • 桃李有芬芳的花朵、甜美的果实,虽然不会说话,但仍然能吸引许多人到树下赏花尝果,以至于树下走出一条小路出来。...
    书呆子阿美阅读 402评论 2 10