39 lines
860 B
Plaintext
39 lines
860 B
Plaintext
' FB 1.05.0 Win64
|
|
|
|
Function factorial(n As UInteger) As UInteger
|
|
If n = 0 Then Return 1
|
|
Return n * factorial(n - 1)
|
|
End Function
|
|
|
|
Function catalan1(n As UInteger) As UInteger
|
|
Dim prod As UInteger = 1
|
|
For i As UInteger = n + 2 To 2 * n
|
|
prod *= i
|
|
Next
|
|
Return prod / factorial(n)
|
|
End Function
|
|
|
|
Function catalan2(n As UInteger) As UInteger
|
|
If n = 0 Then Return 1
|
|
Dim sum As UInteger = 0
|
|
For i As UInteger = 0 To n - 1
|
|
sum += catalan2(i) * catalan2(n - 1 - i)
|
|
Next
|
|
Return sum
|
|
End Function
|
|
|
|
Function catalan3(n As UInteger) As UInteger
|
|
If n = 0 Then Return 1
|
|
Return catalan3(n - 1) * 2 * (2 * n - 1) \ (n + 1)
|
|
End Function
|
|
|
|
Print "n", "First", "Second", "Third"
|
|
Print "-", "-----", "------", "-----"
|
|
Print
|
|
For i As UInteger = 0 To 15
|
|
Print i, catalan1(i), catalan2(i), catalan3(i)
|
|
Next
|
|
Print
|
|
Print "Press any key to quit"
|
|
Sleep
|