Jump to content

Permutations/Derangements: Difference between revisions

Line 2,395:
Brute Force
<lang PureBasic>
Procedure.q permSubfactoral(n)
If n=0:ProcedureReturn 1:EndIf
If n=1:ProcedureReturn 0:EndIf
ProcedureReturn (permSubfactoral(n-1)+permSubfactoral(n-2))*(n-1)
EndProcedure
Line 2,434:
; extract the derangements
; cw("derangements["+str(perm(n))+"] for n="+str(n))
Debug "derangements["+Str(permSubfactoral(n))+"] for n="+Str(n)
Gosub derangements
; cw("")
Line 2,441:
; show the first 20 derangements
For i=0 To 20
;Debug cw("derangements["+strStr(permSubfactoral(i))+"] for n="+strStr(i))
Debug "derangements["+Str(perm(i))+"] for n="+Str(i)
Next
 
End
Anonymous user
Cookies help us deliver our services. By using our services, you agree to our use of cookies.