Задать вопрос
@numb7

Как найти минимальный натуральный делитель числа x?

Добрый вечер!
Подскажите, пожалуйста, как найти минимальный натуральный делитель числа x отличный от 1, т.е y> 1?
Например, если на вход будет число x=10, то y=2
  • Вопрос задан
  • 24729 просмотров
Подписаться 1 Простой Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Python-разработчик: расширенный курс + нейросети
    12 месяцев
    Далее
  • Skillbox
    Python-разработчик
    10 месяцев
    Далее
  • ProductStar
    Профессия: Python-разработчик
    8 месяцев
    Далее
Решения вопроса 1
Не слишком ли это простой вопрос? Очевидно, что надо лишь делить циклически на числа, начиная с 2, и проверять - делят ли они исходное число.
for i in range(2, x+1):
    if not x % i:
        print(i)
        break

Если число большое, то лучше остановить цикл на корне от x:
import math
for i in range(2, int(math.sqrt(x))+1):
    if not x % i:
        print(i)
        break
else:
    print(x)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы