Дано натуральное число N. Определить, является ли оно совершенным. Совершенное число N равно сумме всех своих делителей, не превосходящих само N. PROGRAM PRG_4;
VAR I, N, SUM : INTEGER; BEGIN {ДАНО НАТУРАЛЬНОЕ ЧИСЛО N. ОПРЕДЕЛИТЬ, ЯВЛЯЕТСЯ ЛИ ОНО СОВЕРШЕННЫМ. СОВЕРШЕННОЕ ЧИСЛО N РАВНО СУММЕ ВСЕХ СВОИХ ДЕЛИТЕЛЕЙ, НЕ ПРЕВОСХОДЯЩИХ САМО N } REPEAT WRITE(‘ВВЕДИТЕ НАТУРАЛЬНОЕ ЧИСЛО N = ‘); READLN (N); UNTIL N>0; SUM := 0; FOR I := 1 TO N DIV 2 DO IF N MOD I = 0 THEN SUM := SUM+I; IF SUM «N THEN WRITELN(‘ЧИСЛО’, N, ‘СОВЕРШЕННОЕ’) ELSE WRITELN(‘ЧИСЛО’, N, ‘HE СОВЕРШЕННОЕ’) END. Для решения задачи: — формируем тело программы и описываем переменные; — вводим натуральное число N; — находим все делители числа N, не обязательно простые, и суммируем их; — в зависимости от значения SUM выводим результат. Переменные: N — исследуемое число; I — переменная цикла; SUM — сумма делителей. |