RosettaCodeData/Task/Erd-s-Nicolas-numbers/PascalABC.NET/erd-s-nicolas-numbers.pas
2024-10-16 18:07:41 -07:00

15 lines
379 B
ObjectPascal

const
max_number = 100_000_000;
begin
var dsum := arrfill(max_number + 1, 1);
var dcount := arrfill(max_number + 1, 1);
for var i := 2 to max_number do
for var j := i + i to max_number step i do
begin
if dsum[j] = j then
writeln(j:8, ' equals the sum of its first ', dcount[j], ' divisors');
dsum[j] += i;
dcount[j] += 1;
end;
end.