浏览 1829 次
锁定老帖子 主题:Pascal三角形
精华帖 (0) :: 良好帖 (0) :: 新手帖 (11) :: 隐藏帖 (4)
|
|
---|---|
作者 | 正文 |
发表时间:2009-09-26
0C0 1C0 1C1 2C0 2C1 2C2 3C0 3C1 3C2 3C3 4C0 4C1 4C2 4C3 4C4 Pascal三角形中的 nCr 可以使用以下這個公式來計算,以避免階乘運算時的數值溢位: nCr = [(n-r+1)/r] * nCr-1 nC0 = 1 def combi(n,r) p=1 for i in 1..r p=p*(n-i+1)/i end p end def paint() nN=12 for n in 0..nN for r in 0..n if(r==0) for i in 0..(nN-n) print " " end else print " " end printf("%3d",combi(n,r)) end puts "\n" end end paint() 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |