Света учится играть на рояле. Она записывает ноты до, ре, ми, фа, соль, ля, си как цифры от 1 до 7. На компьютере эти значения преобразуются в двоичный код от 001 до 111. Но система дала сбой, и записи Светы теперь читаются наоборот, справа налево. Например, 110010100 означает до, ре, ми девочке расшифровать число 100011001. В ответе укажите последовательность нот через запятую без пробелов. Подсказка: нули в начале записи числа компьютер игнорирует.
Я пыталась решить но не получилось Прости (
ответ:from math import gcd
def reduce(a, b):
k = gcd(a, b)
return a // k, b // k
def take2s(b: int) -> int:
return b if b % 2 != 0 else take2s(b // 2)
def take5s(b: int) -> int:
return b if b % 5 != 0 else take5s(b // 5)
def take10s(b: int) -> int:
return take5s(take2s(b))
def isFinie(b: int) -> bool:
return take10s(b) == 1
a, b = int(input()), int(input())
a, b = reduce(a, b)
print("yes" if isFinie(b) else "no")
Объяснение: