Однажды после знакомства с двоичной системой счисления Вася подумал: ведь если существуют десятичные дроби, то, значит, должны быть и двоичные. И действительно - например, десятичная дробь 2.25 в двоичной системе выглядит как 10.01
Дальше выяснилась ещё одна интересная деталь: оказывается, не любую конечную десятичную дробь можно записать конечной двоичной. Например, дробь 0.3 запишется в двоичной системе как 0.0100110011001...=0.0(1001), где скобками обозначена бесконечно повторяющаяся часть - период дроби.
Вася легко написал программу, которая переводит десятичную дробь в двоичную. А вы сможете?
Исходные данные
Неотрицательная десятичная дробь, в которой целая и дробная части состоят не более чем из 6 цифр каждая, причём дробная часть не равна нулю. Дробная и целая часть разделяются символом '.' (точка).
Результат
Соответствующая двоичная дробь без лишних нулей в начале и конце. При наличии периода он записывается в круглых скобках, причём его длина должна быть наименьшей. Длина дробной части перед периодом также должна быть наименьшей.
Пример
Исходные данные | Результат |
2.25
|
10.01
|
0.3
|
0.0(1001)
|
Примечание Решения, верно работающие для непериодических дробей, будут оцениваться из 50 баллов.
|