Pi: Difference between revisions
Content added Content deleted
SqrtNegInf (talk | contribs) m (→Modules: add libheader) |
(added Ol) |
||
Line 3,043: | Line 3,043: | ||
] |
] |
||
] ;</lang> |
] ;</lang> |
||
=={{header|Ol}}== |
|||
{{trans|Scheme}} |
|||
<lang scheme> |
|||
; 'numbers' is count of numbers or #false for eternal pleasure. |
|||
(define (pi numbers) |
|||
(let loop ((q 1) (r 0) (t 1) (k 1) (n 3) (l 3) (numbers numbers)) |
|||
(unless (eq? numbers 0) |
|||
(if (< (- (+ (* 4 q) r) t) (* n t)) |
|||
(begin |
|||
(display n) |
|||
(loop (* q 10) |
|||
(* 10 (- r (* n t))) |
|||
t |
|||
k |
|||
(- (div (* 10 (+ (* 3 q) r)) t) (* 10 n)) |
|||
l |
|||
(if numbers (- numbers 1)))) |
|||
(begin |
|||
(loop (* q k) |
|||
(* (+ (* 2 q) r) l) |
|||
(* t l) |
|||
(+ k 1) |
|||
(div (+ (* q (* 7 k)) 2 (* r l)) (* t l)) |
|||
(+ l 2) |
|||
(if numbers (- numbers 1)))))))) |
|||
(pi #false) |
|||
</lang> |
|||
{{out}} |
|||
<pre> |
|||
31415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132 |
|||
82306647093844609550582231725359408128481117450284102701938521105559644622948954930381964428810975665933446128475 |
|||
64823378678316527120190914564856692346034861045432664821339360726024914127372458700660631558817488152092096282925 |
|||
40917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480 |
|||
74462379962749567351885752724891227938183011949129833673362440656643086021394946395224737190702179860943702770539 |
|||
21717629317675238467481846766940513200056812714526356082778577134275778960917363717872146844090122495343014654958 |
|||
53710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328 |
|||
16096318595024459455346908302642522308253344685035261931188171010003137838752886587533208381420617177669147303598 |
|||
25349042875546873115956286388235378759375195778185778053217122680661300192787661119590921642019893809525720106548 |
|||
58632788659361533818279682303019520353018529689957736225994138912497217752834791315155748572424541506959508295331 |
|||
1686172785588907509838175463 |
|||
</pre> |
|||
=={{header|PARI/GP}}== |
=={{header|PARI/GP}}== |