Работа 3.5 Упр.2 Задание 2 ГДЗ Семакин 10 класс (Информатика)
Для заданного натурального числа $$n$$ найти наименьший нечётный натуральный делитель $$k$$, $$k \ne 1$$.
Нужно найти наименьший нечётный натуральный делитель числа $$n$$, причём $$k \ne 1$$. Для этого удобно проверять нечётные делители, начиная с $$3$$.
Если подходящий делитель не найден, функция возвращает $$0$$. Иначе возвращается найденный минимальный нечётный делитель.
function del(n:integer):integer;
var d:integer;
begin
d:=3;
while (d<=n) and (n mod d<>0) do inc(d,2);
if d>n then del:=0 else del:=d
end;var n:integer;
begin
write(‘Введите натуральное n=’);
readln(n);
if del(n)=0 then write(‘Нет нечётного делителя, не равного 1’)
else write(‘Минимальный нечётный делитель, не равный 1=’,del(n));
readln
end.
Функция del перебирает нечётные числа $$3, 5, 7, \dots$$ и останавливается на первом делителе числа $$n$$. Если таких делителей нет, значит число не имеет нечётного делителя, кроме $$1$$.
Ответ: программа находит наименьший нечётный натуральный делитель числа $$n$$, отличный от $$1$$, или сообщает, что такого делителя нет.

