Números de Catalan
Los números de Catalan forman la sucesión cuyo término general es
Los primeros números de Catalan son
1 |
1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 58786 |
Los números de Catalan satisfacen la siguiente relación de recurrencia:
Asintóticamente, los números de Catalan crecen como:
considerando que el cociente entre el n-ésimo número de Catalan y la expresión de la derecha tiende hacia 1 cuando n tiende a infinito.
Definir las funciones
1 2 |
catalan :: [Integer] grafica :: Int -> Int -> IO () |
tales que
- catalan es la lista de términos de la sucesión de Catalan. Por ejemplo,
1 2 3 4 |
λ> take 12 catalan [1,1,2,5,14,42,132,429,1430,4862,16796,58786] λ> length (show (catalan !! 50000)) 30096 |
- (grafica a b) dibuja los n-ésimos términos de la sucesión de Catalan, para n entre a y b, junto con los de la expresión de la derecha de
Por ejemplo, (grafica 5 10) dibuja
y (grafica 55 60) dibuja
Soluciones
1 2 3 4 5 6 7 8 9 10 11 12 13 |
import Graphics.Gnuplot.Simple catalan :: [Integer] catalan = scanl (\c n -> c*2*(2*n-1) `div` (n+1)) 1 [1..] grafica :: Int -> Int -> IO () grafica a b = plotLists [Key Nothing] [[(fromIntegral n, fromIntegral (catalan !! n)) | n <- [a..b]] ,[(n,4**n/(n**(3/2)*(sqrt pi))) | n <- [c..d]]] where c, d :: Double c = fromIntegral a d = fromIntegral b |
12 Comentarios