Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
39
Task/Pi/Seed7/pi.seed7
Normal file
39
Task/Pi/Seed7/pi.seed7
Normal file
|
|
@ -0,0 +1,39 @@
|
|||
$ include "seed7_05.s7i";
|
||||
include "bigint.s7i";
|
||||
|
||||
const proc: main is func
|
||||
local
|
||||
var bigInteger: q is 1_;
|
||||
var bigInteger: r is 0_;
|
||||
var bigInteger: t is 1_;
|
||||
var bigInteger: k is 1_;
|
||||
var bigInteger: n is 3_;
|
||||
var bigInteger: l is 3_;
|
||||
var bigInteger: nn is 0_;
|
||||
var bigInteger: nr is 0_;
|
||||
var boolean: first is TRUE;
|
||||
begin
|
||||
while TRUE do
|
||||
if 4_ * q + r - t < n * t then
|
||||
write(n);
|
||||
if first then
|
||||
write(".");
|
||||
first := FALSE;
|
||||
end if;
|
||||
nr := 10_ * (r - n * t);
|
||||
n := 10_ * (3_ * q + r) div t - 10_ * n;
|
||||
q *:= 10_;
|
||||
r := nr;
|
||||
flush(OUT);
|
||||
else
|
||||
nr := (2_ * q + r) * l;
|
||||
nn := (q * (7_ * k + 2_) + r * l) div (t * l);
|
||||
q *:= k;
|
||||
t *:= l;
|
||||
l +:= 2_;
|
||||
incr(k);
|
||||
n := nn;
|
||||
r := nr;
|
||||
end if;
|
||||
end while;
|
||||
end func;
|
||||
Loading…
Add table
Add a link
Reference in a new issue