Дано натуральное число N. Разложить его на простые множители.
PROGRAM PRG_3; VAR I, N, F, J : INTEGER; BEGIN {ДАНО НАТУРАЛЬНОЕ ЧИСЛО N. РАЗЛОЖИТЬ ЕГО НА ПРОСТЫЕ МНОЖИТЕЛИ.} REPEAT WRITELN(‘ВВЕДИТЕ НАТУРАЛЬНОЕ ЧИСЛО N = ‘); READLN (N); UNTIL N>0; F :=0; J:=N; FOR I := 2 TO N DIV 2 DO BEGIN IF J MOD I = 0 THEN BEGIN F := 1; WHILE J MOD I = О DO BEGIN WRITE(‘*’, I); J := J DIV I END; END; (F ОПРЕДЕЛЯЕТ, БЫЛИ ЛИ НАЙДЕНЫ ПРОСТЫЕ МНОЖИТЕЛИ, КОТОРЫЕ БОЛЬШЕ ЕДИНИЦЫ} IP F = О THEN WRITELN(‘*’, N) ELSE WRITELN END. Для решения задачи: — формируем тело программы и описываем переменные; — вводим натуральное число N; — в цикле по переменной I начинаем порождение натуральных чисел, не превосходящих N/2; — если такое число является делителем, то определяем, сколько таких делителей, уменьшая число N; — в зависимости от значения флага F выводим результат. Переменные: N — исследуемое число; I, J — переменные циклов; F — вспомогательный флаг. |