September 2017 Update
This commit is contained in:
parent
bba7bfd280
commit
ba8067c3b7
14570 changed files with 153136 additions and 63871 deletions
52
Task/Permutations/FreeBASIC/permutations.freebasic
Normal file
52
Task/Permutations/FreeBASIC/permutations.freebasic
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
' version 07-04-2017
|
||||
' compile with: fbc -s console
|
||||
|
||||
' Heap's algorithm non-recursive
|
||||
Sub perms(n As Long)
|
||||
|
||||
Dim As ULong i, j, count = 1
|
||||
Dim As ULong a(0 To n -1), c(0 To n -1)
|
||||
|
||||
For j = 0 To n -1
|
||||
a(j) = j +1
|
||||
Print a(j);
|
||||
Next
|
||||
Print " ";
|
||||
|
||||
i = 0
|
||||
While i < n
|
||||
If c(i) < i Then
|
||||
If (i And 1) = 0 Then
|
||||
Swap a(0), a(i)
|
||||
Else
|
||||
Swap a(c(i)), a(i)
|
||||
End If
|
||||
For j = 0 To n -1
|
||||
Print a(j);
|
||||
Next
|
||||
count += 1
|
||||
If count = 12 Then
|
||||
Print
|
||||
count = 0
|
||||
Else
|
||||
Print " ";
|
||||
End If
|
||||
c(i) += 1
|
||||
i = 0
|
||||
Else
|
||||
c(i) = 0
|
||||
i += 1
|
||||
End If
|
||||
Wend
|
||||
|
||||
End Sub
|
||||
|
||||
' ------=< MAIN >=------
|
||||
|
||||
perms(4)
|
||||
|
||||
' empty keyboard buffer
|
||||
While Inkey <> "" : Wend
|
||||
Print : Print "hit any key to end program"
|
||||
Sleep
|
||||
End
|
||||
Loading…
Add table
Add a link
Reference in a new issue