Наименьший делитель
На вход подаётся число n > 1. Напишите программу, которая выводит его наименьший делитель, отличный от 1.
Используйте break при обнаружении делителя.
- Формат входных данных
- Одно натуральное число n > 1.
- Формат выходных данных
- Наименьший делитель, отличный от единицы.
1223551313Подсказка 1
Перебирать делители надо по возрастанию — тогда первый же найденный и будет наименьшим.
Подсказка 2
Само число тоже делитель: у простого числа других и нет, поэтому перебор должен доходить до n включительно.
Разбор
- Идём по числам от 2 до n включительно.
- Первое же, на которое n делится нацело, печатаем.
- И сразу выходим из цикла: остальные делители нас не интересуют.
Решение
n = int(input())
for d in range(2, n + 1):
if n % d == 0:
print(d)
break # первый найденный делитель и есть наименьшийБез break программа напечатала бы все делители подряд. Именно порядок перебора — от меньшего к большему — делает первый найденный ответом; будь перебор обратным, break дал бы наибольший делитель.


