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

С клавиатуры вводится целое число K (K<=5). Найти и вывести на экран первые К совершенных числа. Совершенное число -- натурально число, равное сумме всех своих собственных делителей (т. е. всех положительных делителей, отличных от самого числа).
Гость
Ответ(ы) на вопрос:
Гость
// 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 время вычисления может быть катастрофически большим!
Не нашли ответ?
Ответить на вопрос
Похожие вопросы