Не выводятся значения K, хотя print(k) прописано

pluto239

Новичок
Пользователь
Фев 9, 2024
2
0
1
python 3.10, windows
Python:
a = int(input())
b = int(input())
i = 1
k = 2
c = a-b
while i>>0:
  if (a%k!=0) and (c%k!=0):
    k = k+1
    print(k)
    continue
  else:
    break


Значение К не выводится. При переносе Print(k) в конец кода, выводится 2 при любых a b. Код создан для поиска наименьшего общего делителя двух чисел. Сначала вводится наибольшее из них.
 

4olshoy_blen

Популярный
Пользователь
Ноя 13, 2022
374
108
43
Велосипед уже изобретен, осталось взять его и поехать

Python:
import math

a, b = int(input()), int(input())
print(a * b // math.gcd(a, b))
 

Vershitel_sudeb

Vershitel sudeb
Команда форума
Модератор
Мар 17, 2021
933
208
43
20
Москва
Наименьший общий делитель всегда равен 1

Наибольший общий делитель может?
 

4olshoy_blen

Популярный
Пользователь
Ноя 13, 2022
374
108
43
Наименьший общий делитель всегда равен 1

Наибольший общий делитель может?
Тут скорее всего имеется ввиду, наименьшее общее кратное, которое делится без остатка на данные числа
 
  • Мне нравится
Реакции: Vershitel_sudeb

pluto239

Новичок
Пользователь
Фев 9, 2024
2
0
1
Тут скорее всего имеется ввиду, наименьшее общее кратное, которое делится без остатка на данные числа

Наименьший общий делитель всегда равен 1

Наибольший общий делитель может?
Наименьший общий делитель, который не является единицей. Так задание звучало.
 

Vershitel_sudeb

Vershitel sudeb
Команда форума
Модератор
Мар 17, 2021
933
208
43
20
Москва
Python:
for i in range(2, min(a, b)):
    if a % i == 0 and b % i == 0:
        print(i)
        break
else:
    print("Not found")
 

Форум IT Специалистов