Enunciado
-- Ejercicio. Definir la función
-- limite :: (Double -> Double) -> Double -> Double
-- tal que (limite f a) es el valor de f en el primer término x tal que,
-- para todo y entre x+1 y x+100, el valor absoluto de la diferencia
-- entre f(y) y f(x) es menor que a. Por ejemplo,
-- limite (\n -> (2*n+1)/(n+5)) 0.001 == 1.9900110987791344
-- limite (\n -> (1+1/n)**n) 0.001 == 2.714072874546881 |
-- Ejercicio. Definir la función
-- limite :: (Double -> Double) -> Double -> Double
-- tal que (limite f a) es el valor de f en el primer término x tal que,
-- para todo y entre x+1 y x+100, el valor absoluto de la diferencia
-- entre f(y) y f(x) es menor que a. Por ejemplo,
-- limite (\n -> (2*n+1)/(n+5)) 0.001 == 1.9900110987791344
-- limite (\n -> (1+1/n)**n) 0.001 == 2.714072874546881
Soluciones
limite :: (Double -> Double) -> Double -> Double
limite f a =
head [f x | x <- [1..],
maximum [abs(f y - f x) | y <- [x+1..x+100]] < a] |
limite :: (Double -> Double) -> Double -> Double
limite f a =
head [f x | x <- [1..],
maximum [abs(f y - f x) | y <- [x+1..x+100]] < a]
Se puede imprimir o compartir con
Una solución de “Límite de sucesiones”