Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
|
|
@ -0,0 +1,27 @@
|
|||
def derangements(n)
|
||||
ary = (1 .. n).to_a
|
||||
ary.permutation.select do |perm|
|
||||
ary.zip(perm).all? {|a,b| a != b}
|
||||
end
|
||||
end
|
||||
|
||||
def subfact(n)
|
||||
case n
|
||||
when 0 then 1
|
||||
when 1 then 0
|
||||
else (n-1)*(subfact(n-1) + subfact(n-2))
|
||||
end
|
||||
end
|
||||
|
||||
puts "derangements for n = 4"
|
||||
derangements(4).each{|d|p d}
|
||||
|
||||
puts "\n n derange subfact"
|
||||
(0..9).each do |n|
|
||||
puts "%2d :%8d,%8d" % [n, derangements(n).size, subfact(n)]
|
||||
end
|
||||
|
||||
puts "\nNumber of derangements"
|
||||
(10..20).each do |n|
|
||||
puts "#{n} : #{subfact(n)}"
|
||||
end
|
||||
Loading…
Add table
Add a link
Reference in a new issue