eolymp
bolt
Попробуйте наш новый интерфейс для отправки задач
Задачи

Расширение дробей

Расширение дробей

В этой задаче Вы должны напечатать расширение частного, полученного при делении двух целых десятичных чисел. Как всем хорошо известно, десятичная дробь, полученная в результате деления двух целых чисел, может повторяться. Вы должны определить так ли это и напечатать расширенное представление полученной дроби. Вывод должен прекратится, если дробь закончилась или встретилась повторяющаяся часть. Если есть повторяющаяся часть необходимо определить количество цифр в ней. \InputFile Каждая строка многотестового задания содержит по \textbf{2} целых числа. Первое число определяет числитель, а второе знаменатель обычной дроби. Число в числителе всегда меньше знаменателя, а знаменатель не превышает \textbf{1000}. Входные данные заканчиваются строкой содержащей два нуля. \OutputFile Для каждого примера входных данных Вы должны вывести по две части расширенного представления. В первой части необходимо напечатать саму десятичную дробь, начиная с десятичной точки, со следующими ограничениями: если дробь конечна - вывести её, а если есть периодическая часть, то вывести её до следующего повторения. Во второй части вывода к каждому тесту необходимо вывести словесное сообщение согласно требований, описанных ниже. Например, дробь \textbf{4}/\textbf{11} = \textbf{.3636363636}..., должна быть напечатана как \textbf{.36}. (Отметим, что необходимо найти наименьшую повторяющуюся часть. В приведенном примере повторяющимися частями являются и \textbf{3636} и \textbf{363636}, однако наименьшей повторяющейся частью есть \textbf{36}.) Поскольку подобные десятичные представления могут быть довольно длинными, каждая строка первой части расширенного представления должна содержать не более \textbf{50} символов (кроме последней строки, которая может быть и короче) - вывод начинается с десятичной точки. В следующей за выводом дроби строке должен содержаться либо текст "\textbf{This expansion terminates.}" для непериодических дробей, либо для имеющих период: "\textbf{The last n digits repeat forever.}", где \textbf{n} - число цифр в периодической части. \textbf{Полезный совет}: Число цифр в повторяющейся части не может превышать значение знаменателя.
Лимит времени 1 секунда
Лимит использования памяти 64 MiB
Входные данные #1
3 7
345 800
112 990
53 122
0 0
Выходные данные #1
.428571
The last 6 digits repeat forever.
.43125
This expansion terminates.
.113
The last 2 digits repeat forever.
.4344262295081967213114754098360655737704918032786
885245901639
The last 60 digits repeat forever.