Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
|
|
@ -0,0 +1,79 @@
|
|||
' version 28-06-2018
|
||||
' compile with: fbc -s console
|
||||
|
||||
Function superpermsize(n As UInteger) As UInteger
|
||||
|
||||
Dim As UInteger x, y, sum, fac
|
||||
For x = 1 To n
|
||||
fac = 1
|
||||
For y = 1 To x
|
||||
fac *= y
|
||||
Next
|
||||
sum += fac
|
||||
Next
|
||||
|
||||
Function = sum
|
||||
|
||||
End Function
|
||||
|
||||
Function superperm(n As UInteger) As String
|
||||
|
||||
If n = 1 Then Return "1"
|
||||
|
||||
Dim As String sup_perm = "1", insert
|
||||
Dim As String p, q()
|
||||
Dim As UInteger a, b, i, l, x
|
||||
|
||||
For x = 2 To n
|
||||
insert = IIf(x < 10, Str(x), Chr(x + 55))
|
||||
l = Len(sup_perm)
|
||||
If l > 1 Then l = Len(sup_perm) - x +2
|
||||
ReDim q(l)
|
||||
For i = 1 To l
|
||||
p = Mid(sup_perm, i, x -1)
|
||||
If x > 2 Then
|
||||
For a = 0 To Len(p) -2
|
||||
For b = a+1 To Len(p) -1
|
||||
If p[a] = p[b] Then Continue For, For, For
|
||||
Next
|
||||
Next
|
||||
End If
|
||||
q(i) = p + insert + p
|
||||
Next
|
||||
sup_perm = q(1)
|
||||
For i = 2 To UBound(q)
|
||||
a = x -1
|
||||
Do
|
||||
If Right(sup_perm, a) = Left(q(i), a) Then
|
||||
sup_perm += Mid(q(i), a +1)
|
||||
Exit Do
|
||||
End If
|
||||
a -= 1
|
||||
Loop
|
||||
Next
|
||||
Next
|
||||
|
||||
Function = sup_perm
|
||||
|
||||
End Function
|
||||
|
||||
' ------=< MAIN >=------
|
||||
|
||||
Dim As String superpermutation
|
||||
Dim As UInteger n
|
||||
|
||||
For n = 1 To 10
|
||||
superpermutation = superperm(n)
|
||||
Print Using "### ######## ######## "; n; superpermsize(n); Len(superpermutation);
|
||||
If n < 5 Then
|
||||
Print superpermutation
|
||||
Else
|
||||
Print
|
||||
End If
|
||||
Next
|
||||
|
||||
' 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