38 lines
749 B
Text
38 lines
749 B
Text
print " n First Second Third"
|
|
print " - ----- ------ -----"
|
|
print
|
|
for i = 0 to 15
|
|
print i using "###", catalan1(i) using "########", catalan2(i) using "########", catalan3(i) using "########"
|
|
next i
|
|
end
|
|
|
|
sub factorial(n)
|
|
if n = 0 return 1
|
|
return n * factorial(n - 1)
|
|
end sub
|
|
|
|
sub catalan1(n)
|
|
local proc, i
|
|
|
|
prod = 1
|
|
for i = n + 2 to 2 * n
|
|
prod = prod * i
|
|
next i
|
|
return int(prod / factorial(n))
|
|
end sub
|
|
|
|
sub catalan2(n)
|
|
local sum, i
|
|
|
|
if n = 0 return 1
|
|
sum = 0
|
|
for i = 0 to n - 1
|
|
sum = sum + catalan2(i) * catalan2(n - 1 - i)
|
|
next i
|
|
return sum
|
|
end sub
|
|
|
|
sub catalan3(n)
|
|
if n = 0 return 1
|
|
return ((2 * ((2 * n) - 1)) / (n + 1)) * catalan3(n - 1)
|
|
end sub
|