Мы знаем, что для двух чисел «а» и «б»;произведение a & b равно произведению GCD (a, b) и LCM (a, b).
Итак, чтобы найти LCM из двух чисел, я написал этот алгоритм на Python:
def gcd(a,b):
if b==0:
return a
else:
a_rem = a%b
return gcd(b,a_rem)
print(int(a*b/(gcd(a,b)))
Теперь, проверяя различные тестовые случаи, я обнаружил это:
Ввод: 226553150 1023473145
Мой вывод: 46374212988031352
Правильный вывод: 46374212988031350
Я не могу выяснить, почему это происходит, по какой-то причине неверна только последняя цифра !!