Luis Pablo Michelena <lmichele@multi.com.uy> writes on the subject `series'
where to find a haskell program that calculates the number e, that is the list of infinite digits? [..] what i am looking for is something like the ertostenes sifts, that prints every prime number until it run out of memory ...
In what way the Heratosphenes sieve for prime numbers may relate to finding approximations of number e ? As to finding the infinite list of digits for e = lim (1 + 1/n)^n, n -> infinity here the program is suggested for finding (eAppr n) :: Rational such that |e - (eAppr n)| < 1/2^(n-3) : import Ratio eAppr :: Integer -> Rational eAppr n = appr 0 (1%1) (0%1) where appr k member res = --- member = 1/(k!), if --- res = sum [1/i! | i <- [0..k]] k==n then res else appr (k+1) (member/(fromInteger (k+1))) (res+member) Several decimal digits can be obtained, then, like this: fromRational (eAppr 6) :: Double --> 2.716666666666667 fromRational (eAppr 20) :: Double --> 2.718281828459045 Explanation. According to Calculus, we have e = lim (eApp n), where eAppr n = sum [1/k! | k <- [0..n]] n -> infinity and |e - (eAppr n)| < 3/n! <= 1/2^(n-3). Therefore, eAppr(n+3) differs from e in less than 1/2^n. I believe, this fact will help us to find first true k digits of e for any given k. If people would not give other good solution and if you ask me to complete this task, then I'll try to do this. Regards, ----------------- Serge Mechveliani mechvel@botik.ru
participants (1)
-
S.D.Mechveliani