Света учится играть на рояле. Она записывает ноты до, ре, ми, фа, соль, ля, си как цифры от 1 до 7. На компьютере эти значения преобразуются в двоичный код от 001 до 111. Но система дала сбой, и записи Светы теперь читаются наоборот, справа налево. Например, 110010100 означает до, ре, ми девочке расшифровать число 100011001. В ответе укажите последовательность нот через запятую без пробелов. Подсказка: нули в начале записи числа компьютер игнорирует.

aleksandr250804 aleksandr250804    2   13.09.2020 14:30    91

Ответы
Миша7991 Миша7991  13.09.2020 15:01

Я пыталась решить но не получилось Прости (

ПОКАЗАТЬ ОТВЕТЫ
Sobennikovoleg Sobennikovoleg  13.09.2020 15:01

ответ: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")

Объяснение:

ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика