Copyright | Exercitium (05-05-14) |
---|---|
License | GPL-3 |
Maintainer | JoseA.Alonso@gmail.com |
Safe Haskell | Safe |
Language | Haskell2010 |
Descomposiciones_triangulares
Description
Descomposiciones como sumas de tres triangulares
Definir la función
descomposicionesTriangulares :: Int -> [(Int, Int, Int)]
tal que (descomposicionesTriangulares n) es la lista de las ternas correspondientes a las descomposiciones de n en tres sumandos, como máximo, formados por números triangulares. Por ejemplo,
>>>
descomposicionesTriangulares 6
[(0,0,6),(0,3,3)]>>>
descomposicionesTriangulares 26
[(1,10,15),(6,10,10)]>>>
descomposicionesTriangulares 21
[(0,0,21),(0,6,15),(1,10,10),(3,3,15)]>>>
descomposicionesTriangulares 61
[(0,6,55),(1,15,45),(3,3,55),(6,10,45),(10,15,36)]>>>
descomposicionesTriangulares 66
[(0,0,66),(0,21,45),(1,10,55),(6,15,45),(10,28,28),(15,15,36)]>>>
descomposicionesTriangulares 126
[(0,6,120),(0,21,105),(3,3,120),(3,45,78),(6,15,105),(15,45,66),(36,45,45)]>>>
length (descomposicionesTriangulares 9256)
88>>>
length (descomposicionesTriangulares 10000)
42
Comprobar con QuickCheck que todo número se puede descomponer como suma de tres triangulares.
- descomposicionesTriangulares :: Int -> [(Int, Int, Int)]
- triangulares :: [Int]
- prop_descomposicionesTriangulares :: Positive Int -> Bool
Documentation
triangulares :: [Int] Source #
triangulares es la lista de los números triangulares. Por ejemplo,
>>>
take 10 triangulares
[0,1,3,6,10,15,21,28,36,45]