September 2017 Update
This commit is contained in:
parent
bba7bfd280
commit
ba8067c3b7
14570 changed files with 153136 additions and 63871 deletions
|
|
@ -1,17 +1,16 @@
|
|||
func P(n, k) { n! / ((n-k)!) };
|
||||
func C(n, k) { binomial(n, k) };
|
||||
func P(n, k) { n! / ((n-k)!) }
|
||||
func C(n, k) { binomial(n, k) }
|
||||
|
||||
class Logarithm(value) {
|
||||
method get_value { value };
|
||||
method to_s {
|
||||
var e = int(value/10.log);
|
||||
"%.8fE%+d" % (exp(value - e*10.log), e);
|
||||
var e = int(value/10.log)
|
||||
"%.8fE%+d" % (exp(value - e*10.log), e)
|
||||
}
|
||||
}
|
||||
|
||||
func lstirling(n) {
|
||||
n < 10 ? (lstirling(n+1) - log(n+1))
|
||||
: (0.5*log(2*Number.pi*n) + n*log(n/Number.e + 1/(12*Number.e*n)));
|
||||
n < 10 ? (lstirling(n+1) - log(n+1))
|
||||
: (0.5*log(2*Num.pi*n) + n*log(n/Num.e + 1/(12*Num.e*n)))
|
||||
}
|
||||
|
||||
func P_approx(n, k) {
|
||||
|
|
@ -22,25 +21,25 @@ func C_approx(n, k) {
|
|||
Logarithm((lstirling(n) - lstirling(n -k) - lstirling(k)))
|
||||
}
|
||||
|
||||
say "=> Exact results:";
|
||||
range(1, 12).each { |n|
|
||||
var p = int(n / 3);
|
||||
say "P(#{n}, #{p}) = #{P(n, p)}";
|
||||
say "=> Exact results:"
|
||||
for n (1..12) {
|
||||
var p = n//3
|
||||
say "P(#{n}, #{p}) = #{P(n, p)}"
|
||||
}
|
||||
|
||||
range(10, 60, 10).each { |n|
|
||||
var p = int(n / 3);
|
||||
say "C(#{n}, #{p}) = #{C(n, p)}";
|
||||
for n (10..60 `by` 10) {
|
||||
var p = n//3
|
||||
say "C(#{n}, #{p}) = #{C(n, p)}"
|
||||
}
|
||||
|
||||
say '';
|
||||
say "=> Floating point approximations:";
|
||||
[5, 50, 500, 1000, 5000, 15000].each { |n|
|
||||
var p = int(n / 3);
|
||||
say "P(#{n}, #{p}) = #{P_approx(n, p)}";
|
||||
say "=> Floating point approximations:"
|
||||
for n ([5, 50, 500, 1000, 5000, 15000]) {
|
||||
var p = n//3
|
||||
say "P(#{n}, #{p}) = #{P_approx(n, p)}"
|
||||
}
|
||||
|
||||
range(100, 1000, 100).each { |n|
|
||||
var p = int(n / 3);
|
||||
say "C(#{n}, #{p}) = #{C_approx(n, p)}";
|
||||
for n (100..1000 `by` 100) {
|
||||
var p = n//3
|
||||
say "C(#{n}, #{p}) = #{C_approx(n, p)}"
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue