Найти все совершенные числа до 100000. совершенное число - это такое число, которое равно сумме всех своих делителей, кроме себя самого. например, число 6 является совершенным, т.к. кроме себя самого делится на числа 1, 2 и 3, которые в сумме 6.
Var i,j,s,n:integer; begin readln(n); for i := 1 to n-1 do begin s:=0; for j := 1 to (i div 2) do if i mod j=0 then s:=s+j; if s=i then write(i,' '); end; end.
Внимание! Если программа не работает, обновите версию!
begin
for var i:=1 to 100000 do begin
var s:=0;
for var j:=1 to i div 2 do
if i mod j=0 then s+=j;
if s=i then Print(i)
end;
Writeln
end.
Результат
6 28 496 8128
begin
readln(n);
for i := 1 to n-1 do
begin
s:=0;
for j := 1 to (i div 2) do
if i mod j=0 then s:=s+j;
if s=i then write(i,' ');
end;
end.