blob: afee4b74bc9395fa439838bbd7f7ea05384a1d10 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
#!/usr/bin/env ruby
def fak n
r = 1
(1).upto(n) { |i| r = r*i }
return r
end
def multinom n, ks, ps
b = fak(n)
prod = 1
ks.each { |k| prod = prod*fak(k) }
b = b/prod
ps.each_with_index { |p,j|
b = b*p**ks[j]
}
return b
end
puts multinom(ARGV[0].to_f, ARGV[1].split.map{|i| i.to_f}, ARGV[2].split.map{|i| i.to_f})
|