分数 \frac{1}{33} 的十进制扩展为 0.(03),其中 (03) 用于表示循环 03 无限期地重复。事实上,每个有理数(分数)的十进制扩展具有循环节,而无理数的十进制扩展没有这样的循环节。
有理数的十进制扩展及其循环节我们使用括号来包围循环节。
现在请你写一个程序,读取分数的分子和分母并确定它们的循环节。定义一个分数的循环节是数字的第一最小长度循环字符串。例如,分数 \frac{1}{250}的循环节为 0。
输入
输入包含多个用例,每组用例一行,包含两个整数 n,m \ (0 \leq n \leq 3000,1 \leq m \leq 3000),n 表示分子,m 表示分母。
文件结束 EOF
表示输入结束。
输出
对于每组输入,打印其十进制扩展以及整个循环节的长度。
在写十进制扩展时,如果可能,将循环节括在括号中。如果整个循环节在小数点后前 50 个地方没有发生,则在循环节出现的位置(保证会出现在前 50 个字符)前放置一个左括号 (
,并在小数点后第 50 个数字后放置 ...)
。
样例
标准输入 复制文本 |
76 25 5 43 1 397 |
标准输出 复制文本 |
76/25 = 3.04(0) 1 = number of digits in repeating cycle 5/43 = 0.(116279069767441860465) 21 = number of digits in repeating cycle 1/397 = 0.(00251889168765743073047858942065491183879093198992...) 99 = number of digits in repeating cycle |