Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
55
Task/Ordered-partitions/FreeBASIC/ordered-partitions.basic
Normal file
55
Task/Ordered-partitions/FreeBASIC/ordered-partitions.basic
Normal file
|
|
@ -0,0 +1,55 @@
|
|||
Function Perm(x() As Integer) As Boolean
|
||||
Dim As Integer i, j
|
||||
For i = Ubound(x,1)-1 To 0 Step -1
|
||||
If x(i) < x(i+1) Then Exit For
|
||||
Next i
|
||||
If i < 0 Then Return False
|
||||
j = Ubound(x,1)
|
||||
While x(j) <= x(i)
|
||||
j -= 1
|
||||
Wend
|
||||
Swap x(i), x(j)
|
||||
i += 1
|
||||
j = Ubound(x,1)
|
||||
While i < j
|
||||
Swap x(i), x(j)
|
||||
i += 1
|
||||
j -= 1
|
||||
Wend
|
||||
Return True
|
||||
End Function
|
||||
|
||||
Function Particiones(list() As Integer) As String
|
||||
Dim As Integer i, j, n, p ', x()
|
||||
Dim As String oSS = ""
|
||||
n = Ubound(list)
|
||||
Dim As Integer x(n)
|
||||
For i = 0 To n
|
||||
If list(i) Then
|
||||
For j = 1 To list(i)
|
||||
x(p) = i
|
||||
p += 1
|
||||
Next j
|
||||
End If
|
||||
Next i
|
||||
Do
|
||||
For i = 0 To n
|
||||
oSS += " ( "
|
||||
For j = 0 To Ubound(x,1)
|
||||
If x(j) = i Then oSS += Str(j+1) + " "
|
||||
Next j
|
||||
oSS += ")"
|
||||
Next i
|
||||
oSS += Chr(13) + Chr(10)
|
||||
Loop Until Not Perm(x())
|
||||
Return oSS
|
||||
End Function
|
||||
|
||||
Dim list2(2) As Integer = {1, 1, 1}
|
||||
Print "Particiones(1, 1, 1):"
|
||||
Print Particiones(list2())
|
||||
Dim list3(3) As Integer = {1, 2, 0, 1}
|
||||
Print !"\nParticiones(1, 2, 0, 1):"
|
||||
Print Particiones(list3())
|
||||
|
||||
Sleep
|
||||
Loading…
Add table
Add a link
Reference in a new issue