Формулировка. Дано натуральное число. Найти его наименьший нетривиальный делитель или вывести само это число, если такового нет.
Решение. Задача решается аналогично предыдущей. При этом необходимо начать обычный цикл с увеличением, при котором переменная цикла i изменяется от 2 до n (такая верхняя граница нужна для того, чтобы цикл всегда заканчивался, так как когда i будет равно n, выполнится условие n mod i = 0). Весь остальной код при этом не отличается.
Код:
- program SmallestDiv;
- var
- i, n: word;
- begin
- readln(n);
- for i := 2 to n do begin
- if n mod i = 0 then begin
- writeln(i);
- break
- end
- end
- end.