Code archives/Algorithms/Permutations Function
This code has been declared by its author to be Public Domain code.
Download source code
| |||||
A handy function that returns the number of different arrangements that are possible from a list of 'N' values. Handy for random number generators, lottery-type programs and 'brute force' attacking. | |||||
; ; Non-Recursive Permutations Function By Prof ; ; Examples ; ; 3 will return 6 ; 4 will return 24 ; 5 will return 120 etc... ; ; Graphics 640,480,32,2 SetBuffer BackBuffer() N_Values=5 ; Number of values Perms=Permutations(N_Values) ; Get the Number of permutations Text 10,10,Str(Perms)+" possible arrangements (Permutations) of "+Str(N_Values)+" Values." Flip WaitKey() End ; *************************************************************** Function Permutations(N) ; Returns the number of Permutations of N Values ; N is an Int and must be greater than Zero otherwise Zero is returned ; If N>1 Result=N*(N-1) For X=N-2 To 1 Step-1 Result=Result*X Next ElseIf N=1 Result=1 Else Result=0 EndIf Return Result End Function ; *************************************************************** |
Comments
| ||
It's nice. But think 0! := 1. To correct this, just change: ElseIf N=1 into ElseIf N>=0 |
Code Archives Forum