【C语言】巴斯卡三角问题

巴斯卡(Pascal)三角形基本上就是在计算 rCn ,其中 r 为行(row),n 为列(column)。因为三角形上的每一个数字都会对应一个 rCn,如下:
    0C0
   1C0 1C1
  2C0 2C1 2C2
 3C0 3C1 3C2 3C3
4C0 4C1 4C2 4C3 4C4


对应的数字如下图所示:




解题思路


巴斯卡三角形中的 rCn 可以使用下面的公式来计算,以避免阶乘运算时的数值溢出:
rC0 = 1
rCn = rCn-1 * (r - n + 1) / n


解决了计算 rCn 的问题,剩下的问题就是如何将这些数字排列成三角形了。

#include  <stdio.h>//此为c程序,后缀为.c
#define HEIGHT 12

int combi ( int r ,  int n ){
    int p =  1 ;
    int i ;
    for ( i =  1 ; i <= n ; i ++)  {
        p = p *  ( r - i +  1 )  / i ;
    }
    return p ;
}

int main ()  {
    int r ;
    int s ;
    int t ; 
    for ( r =  0 ; r < HEIGHT ; r ++)  {
		int n;
        char format [ 5 ];            
        sprintf ( format ,  "%% %ds" ,  ( HEIGHT - r )  *  3 );
        printf ( format , "" );//format为字符数组,format里面的内容为% 36s, 这正好为printf函数提供了打印""内容的格式。
		
        
        for ( n =  0 ; n <= r ; n ++)  {
            printf ( "%6d" , combi ( r , n ));
        }
        printf ( "\n" );
    }
    getch();
}

以上部分转载:http://c.biancheng.net/cpp/html/2879.html


1.汉若塔........................................................................................................................................................2 2.费式数列....................................................................................................................................................2 3. 巴斯卡三角形..........................................................................................................................................3 4.三色棋........................................................................................................................................................4 5.老鼠走迷官 (一)....................................................................................................................................5 6.老鼠走迷官 (二)....................................................................................................................................7 7.骑士走棋盘................................................................................................................................................8 8.八皇后...................................................................................................................................................... 11 9.八枚银币..................................................................................................................................................12 10.生命游戏................................................................................................................................................14 11.字串核对................................................................................................................................................16 12.双色、三色河内塔................................................................................................................................18 13.背包问题 (Knapsack Problem)..........................................................................................................21 14.蒙地卡罗法求 PI...................................................................................................................................25 15.Eratosthenes 筛选求质数.......................................................................................................................26 16.超长整数运算 (大数运算)................................................................................................................27 17.长 PI.......................................................................................................................................................29 18.最大公因数、最小公倍数、因式分解.................................................................................................31 19.完美数....................................................................................................................................................34 20.阿姆斯壮数............................................................................................................................................36 21.最大访客数............................................................................................................................................37 22.中序式转后序式 (前序式)................................................................................................................39 23.后序式的运算........................................................................................................................................42 24.洗扑克牌 (乱数排列)........................................................................................................................43 25.Craps 赌博游戏......................................................................................................................................45 26.约瑟夫问题 (Josephus Problem).......................................................................................................47 27.排列组合................................................................................................................................................48 28.格雷码 (Gray Code)...........................................................................................................................49 29.产生可能的集合....................................................................................................................................51 30.m 元素集合的n 个元素子集................................................................................................................54 31.数字拆解................................................................................................................................................55 32.得分排行................................................................................................................................................57 33.选择、插入、气泡排序........................................................................................................................59 34.Shell 排序法 - 改良的插入排序.........................................................................................................62 35.Shaker 排序法 - 改良的气泡排序......................................................................................................64 36.排序法 - 改良的选择排序...................................................................................................................66 37.快速排序法 (一)................................................................................................................................69 38.快速排序法 (二)................................................................................................................................71 39.快速排序法 (三)................................................................................................................................72 40.合并排序法............................................................................................................................................75 41.基数排序法............................................................................................................................................77 42.循序搜寻法 (使用卫兵)....................................................................................................................79 43.二分搜寻法 (搜寻原则的代表)........................................................................................................81 44.插补搜寻法............................................................................................................................................83 45.费氏搜寻法............................................................................................................................................85 46.稀疏矩阵................................................................................................................................................88 47.多维矩阵转一维矩阵............................................................................................................................90 48.上三角、下三角、对称矩阵................................................................................................................91 49.奇数魔方阵............................................................................................................................................93 50.4N 魔方阵.............................................................................................................................................94 51.2(2N+1) 魔方阵 ....................................................................................................................................96
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值