#P1491. 有限小数

    ID: 492 传统题 1000ms 256MiB 尝试: 1 已通过: 1 难度: 10 上传者: 标签>提高+/省选-数学数论拓展欧几里得算法暴力枚举

有限小数

有限小数

题目描述

给定两个互质正整数aa,bb,你需要求两个非负整数cc,dd,满足以下两个条件: • ab+cd\frac{a}{b}+\frac{c}{d}为十进制下的整数或有限小数。 • 1d1091 \le d \le 10^9 。 在所有满足条件的非负整数对(c,d)(c,d)中,请求出cc最小的一对。 一个有理数xx是十进制下的有限小数,当且仅当将xx在十进制下以小数形式写出 后,小数点后的位数是有限的,即存在正整数k,整数p和整数数组(q1,q2,...,qk)(q_1,q_2,...,q_k)满 足0qi90\le q_i\le 9,使得x=p+i=1kqi10ix=p+ \sum^{k}_{i=1} q_i ·10^{-i}

输入格式

从标准输入读入数据。 第一行包含一个正整数T(1T104)T(1\le T\le 10^4),表示数据组数。 每组数据包含一行两个正整数aa,b(1ab106)b(1\le a b\le 10^6),含义如题目描述所示。保证 gcd(a,b)=1gcd(a,b)=1

输出格式

输出到标准输出。 对于每组数据,输出一行两个非负整数cc,dd。如果有多组正确答案,输出任意一组 即可。

样例 #1

样例输入 #1

4
1 2
2 3
3 7
19 79

样例输出 #1

0 1
1 3
1 14
3 316

提示

对于第一组数据,由于12=0.5\frac{1}{2}=0.5是有限小数,因此输出(c,d)(c,d)满足c=0c=01d1091\le d\le 10^9 即可。 对于第二组数据,23+13=1\frac23+\frac13 =1是整数,且 23=0.666...\frac 23 =0.666...不是有限小数,因此c=1c=1是 最小可能值。 对于第三组数据,37+114=12=0.5\frac37+ \frac{1}{14} = \frac12 =0.5 是有限小数。 对于第四组数据,1979+3316=14=0.25\frac{19}{79} + \frac{3}{316} = \frac1 4 =0.25 是有限小数,且可以证明不存在 0c20\le c \le21d1091\le d\le 10^9使得 1979+cd\frac{19}{79} + \frac{c} {d} 是有限小数。