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.