13 lines
269 B
Text
13 lines
269 B
Text
(load "@lib/simul.l") # For 'permute'
|
|
|
|
(de derangements (Lst)
|
|
(filter
|
|
'((L) (not (find = L Lst)))
|
|
(permute Lst) ) )
|
|
|
|
(de subfact (N)
|
|
(if (>= 2 N)
|
|
(if (= 1 N) 0 1)
|
|
(*
|
|
(dec N)
|
|
(+ (subfact (dec N)) (subfact (- N 2))) ) ) )
|