#CYF0054. 阶乘与最大公约数
阶乘与最大公约数
题目背景
小 C
最近学习了阶乘和最大公约数,现在他想要结合这两个知识点设计一个问题,首先:
-
阶乘就是整数 的阶乘是所有小于或等于 的正整数的乘积,如 。
-
最大公约数就是如果 ,而 ,现有 为正整数,设 ,则 叫做 的公约数,公约数会有很多,其中最大的叫做最大公约数,最大公约数是其他所有公约数的倍数,记做 ,如果想要求 和 的最大公约数,可以记做 。如 。
题目描述
题目很简单,请同学们求出 的结果。
输入格式
输入多行。
第一行输入一个正整数 ,代表有 组测试数据。
接下来 行,每行输入两个正整数 。
输出格式
输出多行。
对于每一组测试数据,输出 的结果。
样例 #1
样例输入 #1
5
1 10000
12 6
12 12
10000 9
1 99999999
样例输出 #1
1
720
479001600
362880
1
提示
数据范围与提示:
样例解释】:
-
对于第二组样例:$12! = 1 * 2 * 3 * 4 * 5 * 6 * 7 * 8 * 9 * 10 * 11 * 12 = 479001600; 6! = 1 * 2 * 3 * 4 * 5 * 6 = 720$ 然后求 。
-
对于第三组样例:两个数字都是 ,所以最大公约数就是 。
数据范围】:
测试点编号 | |||
---|---|---|---|
01 ~ 10 |
|||
11 ~ 15 |
|||
16 ~ 20 |
对于 的数据,保证 $1 \leq t \leq 10^3, 1 \leq a, b \leq 10^{18}, min(a, b) \leq 12$ 。