page contents

C语言-经典算法-帕斯卡三角形

C语言算法练习
帕斯卡三角形
1、算法说明

帕斯卡三角形又称为杨辉三角,就是下图所示的这种三角形。

attachments-2021-08-OUdLGGED611a44c644db2.png

2、算法解法

杨辉三角第一行为1,之后的每一行数据个数都相较于下一行+1,且数据的值都是上一行同位置数据加上上一行同位置的前一个数据,以此类推,如第二行的第一个1 = 0+1,第二个1 = 1+0,第三行的第一个1 = 0+1,第二个2 = 1+1,第三个1 = 1+0,也就是上一行的对应位置的数字加上前一个数字。

3、C语言代码

#include <stdio.h>
#define N 12
long combi(int n, int r){
int i;
long p = 1;
for(i = 1; i <= r; i++)
p = p * (n-i+1) / i;
return p;
}
void paint() {
int n, r, t;
for(n = 0; n <= N; n++) {
for(r = 0; r <= n; r++) {
int i;
if(r == 0) {
for(i = 0; i <= (N-n); i++)
    printf("   ");
}
else {
printf("    ");
}
printf("%3d", combi(n, r));}
printf("\n");
}
}



  • 发表于 2021-08-16 19:10
  • 阅读 ( 1171 )
  • 分类:C/C++开发

0 条评论

请先 登录 后评论
小威
小威

64 篇文章

作家榜 »

  1. 轩辕小不懂 2403 文章
  2. 小柒 1474 文章
  3. Pack 1135 文章
  4. Nen 576 文章
  5. 王昭君 209 文章
  6. 文双 71 文章
  7. 小威 64 文章
  8. Cara 36 文章