Precisión de aproximaciones de pi
La precisión de una aproximación x de pi es el número de dígitos comunes entre el inicio de x y de pi. Por ejemplo, puesto que 355/113 es 3.1415929203539825 y pi es 3.141592653589793, la precisión de 355/113 es 7.
Definir las siguientes funciones
mayorPrefijoComun :: Eq a => [a] -> [a] -> [a] precisionPi :: Double -> Int precisionPiCR :: CReal -> Int
tales que
- (mayorPrefijoComun xs ys) es el mayor prefijo común de xs e ys. Por ejemplo,
mayorPrefijoComun [] [2,3,4,5] == [] mayorPrefijoComun [2,3,5] [] == [] mayorPrefijoComun [2,3,5] [2,3,4,5] == [2,3] mayorPrefijoComun [2,3,5] [2,5,3,4] == [2] mayorPrefijoComun [2,3,5] [5,2,3,4] == []
- (precisionPi x) es la precisión de la aproximación de pi x. Por ejemplo,
precisionPi (25/8) == 2 precisionPi (22/7) == 3 precisionPi (sqrt 2 + sqrt 3) == 3 precisionPi (377/120) == 4 precisionPi (31**(1/3)) == 4 precisionPi (7^7/4^9) == 5 precisionPi (355/113) == 7 precisionPi ((2143/22)**(1/4)) == 9
- (precisionPiCR x) es la precisión de la aproximación de pi x, como números reales. Por ejemplo,
precisionPiCR (log (640320^3+744)/(sqrt 163)) == 31 precisionPiCR (log (5280^3*(236674+30303*sqrt 61)^3+744)/(sqrt 427)) == 53
Nota: Para la definición precisionPiCR se usa la librería Data.Number.CReal que se instala con
cabal install numbers















