Упражнение 3 (Производящие функции и ряды)

Дано натуральное число 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 — вспомогательный флаг.

Добавить комментарий