Работа 3.5 Упр.2 Задание 2 ГДЗ Семакин 10 класс (Информатика)
Рассмотрим вариант решения задания из учебника Семакин, Хеннер, Шеина 10 класс, Бином: 2. Для заданного натурального числа n найти наименьший нечетный натуральный делитель k (k =/ 1). *Цитирирование задания со ссылкой на учебник производится исключительно в учебных целях для лучшего понимания разбора решения задания. 10 semakin10 pract/3-5/zad2/2 98
Нужно найти наименьший нечётный натуральный делитель числа $$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$$, или сообщает, что такого делителя нет.