From: Thorsten Hater Date: 2010-01-11T22:59:48+09:00 Subject: Re: [QUIZ] Digits of e (#226) Sorry, Rabonitz meant Rabinowitz, ugly typo. Am 11.01.2010 14:57, schrieb Thorsten Hater: > Hello, > > based on the spigot algorithm of Rabonitz and Wagon [1]: > > #!/usr/bin/ruby > > def spigot n > e = [] > arr = [2] + Array.new(n+1,1) > (n-1).times do |i| > (n+1).downto 0 do |j| > arr[j] *= 10 > end > q = 0 > (n+1).downto 0 do |j| > arr[j] += q > q = arr[j]/(j+1) > arr[j] %= j+1 > end > e << q > end > e[0]/= 10.0 > puts e.join('') > end > > if $0 == __FILE__ > spigot ARGV[0].to_i > end > > [1] http://www.mathpropress.com/stan/bibliography/spigot.pdf : citing > the easier case of e > > Am 08.01.2010 06:26, schrieb Daniel Moore: >> -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- >> >> The three rules of Ruby Quiz: >> >> 1. Please do not post any solutions or spoiler discussion for this >> quiz until 48 hours have elapsed from the time this message was >> sent. >> >> 2. Support Ruby Quiz by submitting ideas and responses >> as often as you can. >> >> 3. Enjoy! >> >> Suggestion: A [QUIZ] in the subject of emails about the problem >> helps everyone on Ruby Talk follow the discussion. Please reply to >> the original quiz message, if you can. >> >> - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - >> >> RSS Feed: http://rubyquiz.strd6.com/quizzes.rss >> >> Suggestions?: http://rubyquiz.strd6.com/suggestions >> >> -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- >> >> ## Digits of e (#226) >> >> Wayumbe Rubyists, >> >> The mathematical constant e is the unique real number such that the >> value of the derivative (slope of the tangent line) of the function >> f(x) = e^x at the point x = 0 is exactly 1. The function e^x so >> defined is called the exponential function, and its inverse is the >> natural logarithm, or logarithm to base e.[1] >> >> e is one of the most important numbers in mathematics, alongside the >> additive and multiplicative identities 0 and 1, the constant �, and >> the imaginary unit i. These are the five constants appearing in one >> formulation of [Euler's identity][2]. >> >> This week�s quiz is to write a Ruby program that can compute the first >> 100,000 digits of e. >> >> Have fun! >> >> [1]: http://en.wikipedia.org/wiki/E_(mathematical_constant) >> [2]: http://en.wikipedia.org/wiki/Euler's_identity >> > > -- Thorsten Hater Institut fuer Theoretische Physik I Ruhr-Universitaet Bochum E-Mail: tp1@tp1.rub.de Tel.: 0234/32-23-441