Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
|
|
@ -0,0 +1,35 @@
|
|||
# All of this is built-in
|
||||
Derangements([1 .. 4]);
|
||||
# [ [ 2, 1, 4, 3 ], [ 2, 3, 4, 1 ], [ 2, 4, 1, 3 ], [ 3, 1, 4, 2 ], [ 3, 4, 1, 2 ], [ 3, 4, 2, 1 ],
|
||||
# [ 4, 1, 2, 3 ], [ 4, 3, 1, 2 ], [ 4, 3, 2, 1 ] ]
|
||||
Size(last);
|
||||
# 9
|
||||
|
||||
NrDerangements([1 .. 4]);
|
||||
# 9
|
||||
|
||||
# An implementation using formula D(n + 1) = n*(D(n) + D(n - 1))
|
||||
NrDerangementsAlt_memo := [1, 0];
|
||||
NrDerangementsAlt := function(n)
|
||||
if not IsBound(NrDerangementsAlt_memo[n + 1]) then
|
||||
NrDerangementsAlt_memo[n + 1] := (n - 1)*(NrDerangementsAlt(n - 1) + NrDerangementsAlt(n - 2));
|
||||
fi;
|
||||
return NrDerangementsAlt_memo[n + 1];
|
||||
end;
|
||||
|
||||
L := List([0 .. 9]);
|
||||
|
||||
PrintArray(TransposedMat([L,
|
||||
List(L, n -> Size(Derangements([1 .. n]))),
|
||||
List(L, n -> NrDerangements([1 .. n])),
|
||||
List(L, NrDerangementsAlt)]));
|
||||
# [ [ 0, 1, 1, 1 ],
|
||||
# [ 1, 0, 0, 0 ],
|
||||
# [ 2, 1, 1, 1 ],
|
||||
# [ 3, 2, 2, 2 ],
|
||||
# [ 4, 9, 9, 9 ],
|
||||
# [ 5, 44, 44, 44 ],
|
||||
# [ 6, 265, 265, 265 ],
|
||||
# [ 7, 1854, 1854, 1854 ],
|
||||
# [ 8, 14833, 14833, 14833 ],
|
||||
# [ 9, 133496, 133496, 133496 ] ]
|
||||
Loading…
Add table
Add a link
Reference in a new issue