Найти все совершенные числа до 100000. Совершенное число - это такое число, которое равно...

0 голосов
28 просмотров

Найти все совершенные числа до 100000. Совершенное число - это такое число, которое равно сумме всех своих делителей, кроме себя самого. Например, число 6 является совершенным, т.к. кроме себя самого делится на числа 1, 2 и 3, которые в сумме дают 6.


Информатика (34 баллов) | 28 просмотров
Дано ответов: 2
0 голосов
Правильный ответ
PascalABC.NET 3.4.0, сборка 1671 от 31.05.2018
Внимание! Если программа не работает, обновите версию!

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
(150k баллов)
0 голосов

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.

(209 баллов)