Ctrl K

Равны ли периодические дроби

Сложная
Даны две строки first и second, каждая — запись неотрицательного рационального числа. Верните True, если они обозначают одно и то же число, и False иначе. Запись имеет один из трёх видов: - только целая часть: 7, 0, 250; - целая часть, точка и, возможно, конечная дробная часть: 0.25, 3., 12.0408; - то же плюс период в круглых скобках, который повторяется бесконечно: 0.(6), 1.2(45), 5.(9). Например, 0.1(6), 0.16(6) и 0.1(66) — всё это 0.1666… = 1/6.
Пример 1
first="0.(36)", second="0.3(63)" → True

Обе записи означают 0.363636…

Пример 2
first="2.4(9)", second="2.5" → True

2.4999… с бесконечными девятками равно ровно 2.5.

Пример 3
first="0.(3)", second="0.33" → False

0.333… — это 1/3, а 0.33 чуть меньше.

Ограничения
  • Все части записи состоят из цифр
  • Целая часть: от 1 до 4 цифр, без ведущих нулей (кроме самого числа 0)
  • Дробная часть до скобок: от 0 до 4 цифр
  • Период: от 1 до 4 цифр
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиКалькулятор со скобками: плюс и минус СложнаяСумма прописью по-английски СложнаяЗнаки между цифрами СложнаяБлижайший палиндром СложнаяУпрощение многочлена с буквами Сложная
загружаем Python…
Вход
first="0.(36)", second="0.3(63)"
Ожидается
True

«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 90 тестов на сервере, включая скрытые.