19 lines
488 B
Haskell
19 lines
488 B
Haskell
pi_ = g (1, 0, 1, 1, 3, 3)
|
|
where
|
|
g (q, r, t, k, n, l) =
|
|
if 4 * q + r - t < n * t
|
|
then n :
|
|
g
|
|
( 10 * q
|
|
, 10 * (r - n * t)
|
|
, t
|
|
, k
|
|
, div (10 * (3 * q + r)) t - 10 * n
|
|
, l)
|
|
else g
|
|
( q * k
|
|
, (2 * q + r) * l
|
|
, t * l
|
|
, k + 1
|
|
, div (q * (7 * k + 2) + r * l) (t * l)
|
|
, l + 2)
|