git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@23420 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
akr 2009-05-13 10:36:52 +00:00
Родитель 8265f3125e
Коммит e7ba39350a
1 изменённых файлов: 28 добавлений и 29 удалений

57
math.c
Просмотреть файл

@ -600,38 +600,37 @@ math_erfc(VALUE obj, VALUE x)
*
* Calculates the gamma function of x.
*
* Note that gamma(n) is same as fact(n-1) for integer n >= 0.
* Note that gamma(n) is same as fact(n-1) for integer n > 0.
* However gamma(n) returns float and possibly has error in calculation.
*
* def fact(n) (1..n).inject(1) {|r,i| r*i } end
* 0.upto(25) {|i| p [i, Math.gamma(i+1), fact(i)] }
* #=>
* [0, 1.0, 1]
* [1, 1.0, 1]
* [2, 2.0, 2]
* [3, 6.0, 6]
* [4, 24.0, 24]
* [5, 120.0, 120]
* [6, 720.0, 720]
* [7, 5040.0, 5040]
* [8, 40320.0, 40320]
* [9, 362880.0, 362880]
* [10, 3628800.0, 3628800]
* [11, 39916800.0, 39916800]
* [12, 479001600.0, 479001600]
* [13, 6227020800.0, 6227020800]
* [14, 87178291200.0, 87178291200]
* [15, 1307674368000.0, 1307674368000]
* [16, 20922789888000.0, 20922789888000]
* [17, 355687428096000.0, 355687428096000]
* [18, 6.402373705728e+15, 6402373705728000]
* [19, 1.21645100408832e+17, 121645100408832000]
* [20, 2.43290200817664e+18, 2432902008176640000]
* [21, 5.109094217170944e+19, 51090942171709440000]
* [22, 1.1240007277776077e+21, 1124000727777607680000]
* [23, 2.5852016738885062e+22, 25852016738884976640000]
* [24, 6.204484017332391e+23, 620448401733239439360000]
* [25, 1.5511210043330954e+25, 15511210043330985984000000]
* 1.upto(26) {|i| p [i, Math.gamma(i), fact(i-1)] }
* #=> [1, 1.0, 1]
* # [2, 1.0, 1]
* # [3, 2.0, 2]
* # [4, 6.0, 6]
* # [5, 24.0, 24]
* # [6, 120.0, 120]
* # [7, 720.0, 720]
* # [8, 5040.0, 5040]
* # [9, 40320.0, 40320]
* # [10, 362880.0, 362880]
* # [11, 3628800.0, 3628800]
* # [12, 39916800.0, 39916800]
* # [13, 479001600.0, 479001600]
* # [14, 6227020800.0, 6227020800]
* # [15, 87178291200.0, 87178291200]
* # [16, 1307674368000.0, 1307674368000]
* # [17, 20922789888000.0, 20922789888000]
* # [18, 355687428096000.0, 355687428096000]
* # [19, 6.402373705728e+15, 6402373705728000]
* # [20, 1.21645100408832e+17, 121645100408832000]
* # [21, 2.43290200817664e+18, 2432902008176640000]
* # [22, 5.109094217170944e+19, 51090942171709440000]
* # [23, 1.1240007277776077e+21, 1124000727777607680000]
* # [24, 2.5852016738885062e+22, 25852016738884976640000]
* # [25, 6.204484017332391e+23, 620448401733239439360000]
* # [26, 1.5511210043330954e+25, 15511210043330985984000000]
*
*/