С клавиатуры вводится целое число K (K<=5). Найти и вывести ** экран первые К совершенных...

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

С клавиатуры вводится целое число K (K<=5). Найти и вывести на экран первые К совершенных числа. Совершенное число -- натурально число, равное сумме всех своих собственных делителей (т. е. всех положительных делителей, отличных от самого числа).


Информатика (31 баллов) | 27 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

// PascalABC.NET 3.1, сборка 1195 от 09.03.2016
begin
  var n:=ReadInteger('n=');
  var k:=0;
  var m:=3;
  repeat
    var s:=0;
    for var i:=1 to m div 2 do
      if m mod i=0 then s+=i;
    if s=m then begin Print(m); Inc(k) end;
    Inc(m);
  until k=n
end.

Тестовое решение:
n= 4
6 28 496 8128

ВНИМАНИЕ: при n>4 время вычисления может быть катастрофически большим!

(142k баллов)