from math import sqrt n1 = int(input()) m1 = int(input()) def MinDivisor(n): # наименьший делитель числа i = 2 while n % i != 0: if i >= sqrt(n): return n i += 1 return i def ReduceFraction(n, m): dn = MinDivisor(n) dm = MinDivisor(m) if (dn == dm) and dm != 1: ReduceFraction(n / dn, m / dm) elif m % n == 0 and n != 1: ReduceFraction(1, m / n) if n == 1 or dn != dm: return n, m print(ReduceFraction(n1, m1))
(например:
ввод:
2
4
# типа дробь 2\4
вывод:
1
2 )
Код идеально работает если 23-ую (
return n, m
print(n, m)
Вопреки здравому смыслу и значению дебагера на этом моменте, программа выводит ”None" на любых тестах, где числа можно сократить (Например: 12 16)
Пожалуйста, подскажите, почему это происходит?)
заранее спасибо