$ 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;