С клавиатуры вводится целое число 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 время вычисления может быть катастрофически большим!
Не нашли ответ?
Похожие вопросы