我想打印一个类似于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
时,我的输出只在三角形的边上看起来不错:
我想澄清一下--我不是在寻找解决方案,而是为了了解我哪里出错了,我将感激任何帮助。
1条答案
按热度按时间8dtrkrch1#
当你问的是方向而不是解时,我会说,当外部系数不等于1时,你不能使用与标准帕斯卡三角公式相同的指数代数。