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

Как написать задачу «Минимальный делитель»?

Дано целое число, не меньшее 2. Выведите его наименьший натуральный делитель, отличный от 1
Когда вводишь сначала число меньше 2, а потом больше двух выдает ошибку
А когда сразу вводишь число больше двух, все в порядке
b = 1
while True:
a = int(input())
b = b + 1
if a % b == 0:
print(b)
break
else:
if a < 2:
print("Ошибка!")
continue
  • Вопрос задан
  • 3105 просмотров
Подписаться 1 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 3
Zoominger
@Zoominger Куратор тега Python
System Integrator
else:
if a < 2:
print("Ошибка!")
continue

Вот тут.
Нужно проверять величину числа до деления. Если меньше, то break.
Ответ написан
@Drill
def small_div(num):
    if num < 2:
        return f'Число не соответствует условию задачи: {num} < 2'
    for i in range(2, num+1):
        if not num%i:
            return i
Ответ написан
Комментировать
@OdAs
Начинающий пайтон програмист
Есть специальный алгоритм Евклида для наибольшого делителя:
a = int(input())
b = int(input())

while a != 0 and b != 0:
if a > b:
a %= b
else :
b %= a
gcd = a+b
print(gcd)
тебе его только немного переделать
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы
от 200 000 до 300 000 ₽
Greenway Global Новосибирск
от 150 000 ₽
Akronix Санкт-Петербург
от 150 000 до 200 000 ₽
02 февр. 2025, в 19:21
500 руб./за проект
02 февр. 2025, в 19:02
50000 руб./за проект
02 февр. 2025, в 18:10
3000 руб./за проект