Предмет: Информатика,
автор: HNLLZ
помогите, пожалуйста, очень нужно! Паскаль. Совершенным называется число, равное сумме всех своих делителей, меньших его самого (например, число 6=1+2+3). Напишите программу, которая вводит натуральное число N и определяет, является ли число N совершенным.
Входные данные
Входная строка содержит натуральное число N .
Выходные данные
Если число N – совершенное, программа должна вывести в одну строчку через пробел все делители этого числа, меньшие N . Если число несовершенное, программа должна вывести 0.
Аноним:
Вы забыли указать ограничение на N, а это важно
Ответы
Автор ответа:
0
PascalABC.NET 3.4.2, сборка 1881 от 19.11.2018
Внимание! Если программа не работает, обновите версию!
function СовершенноеЧисло(n: integer): boolean;
begin
var (s,d,n2) := (1,2,n div 2);
while d <= n2 do
begin
if n mod d = 0 then s += d;
Inc(d)
end;
Result := n = s
end;
begin
if СовершенноеЧисло(ReadInteger) then Print('Совершенное')
else Print('Несовершенное')
end.
Пример
33550336
Совершенное
Похожие вопросы
Предмет: История,
автор: ttvelokbas
Предмет: Другие предметы,
автор: daramihajlova264
Предмет: Математика,
автор: Аноним
Предмет: Математика,
автор: фредди7