@numb7

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

Добрый вечер!
Подскажите, пожалуйста, как найти минимальный натуральный делитель числа x отличный от 1, т.е y> 1?
Например, если на вход будет число x=10, то y=2
  • Вопрос задан
  • 23784 просмотра
Решения вопроса 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)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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