22 lines
419 B
Text
22 lines
419 B
Text
import integers.choose
|
|
import util.TextTable
|
|
|
|
def
|
|
catalan( n ) = choose( 2n, n )/(n + 1)
|
|
|
|
catalan2( n ) = product( (n + k)/k | k <- 2..n )
|
|
|
|
catalan3( 0 ) = 1
|
|
catalan3( n ) = 2*(2n - 1)/(n + 1)*catalan3( n - 1 )
|
|
|
|
t = TextTable()
|
|
t.header( 'n', 'definition', 'product', 'recursive' )
|
|
t.line()
|
|
|
|
for i <- 1..4
|
|
t.rightAlignment( i )
|
|
|
|
for i <- 0..15
|
|
t.row( i, catalan(i), catalan2(i), catalan3(i) )
|
|
|
|
println( t )
|