Initial data commit
This commit is contained in:
parent
72d218235f
commit
f23f22d71c
199087 changed files with 3378941 additions and 0 deletions
29
Task/Arithmetic-Rational/Seed7/arithmetic-rational.seed7
Normal file
29
Task/Arithmetic-Rational/Seed7/arithmetic-rational.seed7
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
$ include "seed7_05.s7i";
|
||||
include "rational.s7i";
|
||||
|
||||
const func boolean: isPerfect (in integer: candidate) is func
|
||||
result
|
||||
var boolean: isPerfect is FALSE;
|
||||
local
|
||||
var integer: divisor is 0;
|
||||
var rational: sum is rational.value;
|
||||
begin
|
||||
sum := 1 / candidate;
|
||||
for divisor range 2 to sqrt(candidate) do
|
||||
if candidate mod divisor = 0 then
|
||||
sum +:= 1 / divisor + 1 / (candidate div divisor);
|
||||
end if;
|
||||
end for;
|
||||
isPerfect := sum = rat(1);
|
||||
end func;
|
||||
|
||||
const proc: main is func
|
||||
local
|
||||
var integer: candidate is 0;
|
||||
begin
|
||||
for candidate range 2 to 2 ** 19 - 1 do
|
||||
if isPerfect(candidate) then
|
||||
writeln(candidate <& " is perfect");
|
||||
end if;
|
||||
end for;
|
||||
end func;
|
||||
Loading…
Add table
Add a link
Reference in a new issue