All pastes #507840 Raw Edit

Stuff

public text v1 · immutable
·published 2007-05-24 19:29 UTC
rendered paste body
def pi
  q, r, t, k = 1, 0, 1, 1
  loop do
    n = (3*q+r) / t
    if (4*q+r) / t == n then
      yield n
      q, r, t, k = 10*q, 10*(r-n*t), t, k
    else
      q, r, t, k = q*k, q*(4*k+2)+r*(2*k+1), t*(2*k+1), k+1
    end
  end
end
buff = []
pi { |n|
        buff.push(n)
        if (buff.length() == 10)
                sum = 0
                for i in buff
                        sum = sum + i
                end
                if sum == 13
                        print "#{buff}\n"
                        exit
                end
                buff.shift()
        end
        $stdout.flush
}