22 lines
635 B
Text
22 lines
635 B
Text
$ include "seed7_05.s7i";
|
|
include "bigint.s7i";
|
|
include "bigrat.s7i";
|
|
|
|
const func bigInteger: nextSylvester (in bigInteger: prev) is
|
|
return prev * prev - prev + 1_;
|
|
|
|
const proc: main is func
|
|
local
|
|
var bigInteger: number is 2_;
|
|
var bigRational: reciprocalSum is 0_ / 1_;
|
|
var integer: n is 0;
|
|
begin
|
|
writeln("First 10 elements of Sylvester's sequence:");
|
|
for n range 1 to 10 do
|
|
writeln(number);
|
|
reciprocalSum +:= 1_ / number;
|
|
number := nextSylvester(number);
|
|
end for;
|
|
writeln("\nSum of the reciprocals of the first 10 elements:");
|
|
writeln(reciprocalSum digits 210);
|
|
end func;
|