#HTJ79B. 过循环节

过循环节

题目描述

两个整数做除法,在无法整除的情况下,可能得到一个有限位的小数(如 1/2=0.51/2=0.5),也可能得到一个无限位的小数(即无限循环小数)。

在无限循环小数中,分为纯循环小数(循环节从小数第一位开始,如 1/3=0.3˙1/3=0.\dot{3})和混循环小数(循环节不是从小数第一位开始的,如 2/15=0.13˙2/15=0.1\dot{3})。

循环小数无法写完完整结果,为了清楚表示循环小数,引入 “循环节” 的概念:

无限小数的小数点后,从某一位起向右到某一位止的一节数字循环出现、首尾衔接,这一节数字即为循环节。

例如:0.333330.33333\ldots 的循环节为 330.1333330.133333\ldots 的循环节也为 330.14285714285714280.1428571428571428\ldots 的循环节为 142857142857

现在请你解决问题:

给定两个正整数 a,ba,b保证 无法被 整除),在 1s1s 内求出 a/ba/b 的结果。

  • 如果结果是有限小数,完整输出结果(如 0.50.5);

  • 如果结果是循环小数,输出结果至第一个循环节结束,并将第一个循环节用 () 括起来(如 0.(3)0.(3)0.1(3)0.1(3))。

输入格式

第一行一个整数 TT,表示测试数据的组数。

接下来 TT 行,每行两个正整数 a,ba,b,表示一组除法运算。

输出格式

对于每组数据,输出一行,表示 a/ba/b 的结果:

  • 若为有限小数,直接输出完整结果;

  • 若为循环小数,输出至第一个循环节结束,并将循环节用 () 括起。

样例输入 1

4
1 2
2 6
1 7
3 13

样例输出 1

0.5
0.(3)
0.(142857)
0.(230769)

样例输入 2

2
5 34
2 15

样例输出 2

0.1(4705882352941176)
0.1(3)

说明 / 提示

数据规模与约定

测试点编号 数据范围 特殊性质
1 1a,b101 \leq a,b \leq 10 A
2-3 1a,b1001 \leq a,b \leq 100
4-5 B
6-7 1a,b1031 \leq a,b \leq 10^3
8-10 1a,b1061 \leq a,b \leq 10^6
  • 特殊性质 A:保证所有答案是有限位小数

  • 特殊性质 B:保证答案中没有混循环小数(即都是纯循环小数)。

对所有数据,满足 T50T \leq 501b1061 \leq \sum b \leq 10^6,且 a/ba/b 一定是小数;保证单个测试点的输出长度不超过 256256

空间限制:本题空间上限为 128MB128MB