使用错误值打印的Pascal三角形增加- C

omvjsjqw  于 2022-12-17  发布在  其他
关注(0)|答案(1)|浏览(92)

我想打印一个类似于Pascal三角形的三角形,但边长增加,而不是包含值1。
正Pascal三角形:

通缉三角:

常规Pascal方法:

void PascalTriangle(int rows) {
    int i =0,j = 0,space,coef = 0;
    for (i = 0 ; i<rows ; i++){
        for (space = 1 ; space <= rows - i ; space++) 
            printf(" ");
        
        for (j = 0 ; j <= i ; j++) {
            if (i == 0 || j == 0)
                coef = 1;
            else  
                coef = coef * (i - j + 1) / j;
            printf("%4d",coef);
        }
        printf("\n");
    }
}

我想做的是

void PascalTriangle(int rows) {
    int i =0,j = 0,space,coef = 0;
    for (i = 0 ; i<rows ; i++){
        for (space = 1 ; space <= rows - i ; space++) 
            printf(" ");
        
        for (j = 0 ; j <= i ; j++) {
            if (i == 0 || j == 0)
                coef ++;
            else  
                coef = coef * (i - j + 1) / j;
            printf("%4d",coef);
        }
        printf("\n");
    }
}

当增加coef时,我的输出只在三角形的边上看起来不错:

我想澄清一下--我不是在寻找解决方案,而是为了了解我哪里出错了,我将感激任何帮助。

8dtrkrch

8dtrkrch1#

当你问的是方向而不是解时,我会说,当外部系数不等于1时,你不能使用与标准帕斯卡三角公式相同的指数代数。

相关问题