#P17161. 数论对称差
数论对称差
数论对称差
来源:洛谷 P17161([入门赛 #50] 数论对称差)
题目描述
扶苏有两个整数 。她定义 的数论对称差是恰好满足如下两个条件之一的所有质数 的乘积:
- 是 的质因子,但不是 的质因子;
- 是 的质因子,但不是 的质因子。
如果这样的 不存在,定义 和 的数论对称差是 。
例如, 和 的数论对称差是 ,因为 是 的质因子,但不是 的质因子; 是 的质因子,但不是 的质因子。
给定两个正整数,请你帮扶苏求出它们的数论对称差。
输入格式
本题单个测试点里有多组测试数据。第一行是一个整数,表示测试数据的数量 。
对每组数据,输入只有一行两个整数 。
输出格式
对每组数据,输出一行一个整数表示答案。
样例 #1
样例输入 #1
1
8 9
样例输出 #1
6
样例解释
符合要求的质数 包括 和 。
样例 #2
样例输入 #2
1
6 12
样例输出 #2
1
样例解释
和 的质因子集合都是 ,不存在符合要求的质数 ,答案为 。
提示
数据规模与约定
| 测试点编号 | 特殊约定 | |
|---|---|---|
| 和 互质 | ||
| 无 |
- 对 的数据,,。
提示
- 请注意大量数据输出对程序效率造成的影响。
- 的末位数字可以帮助你快速判断输入测试点的特殊约定。
- 线性筛预处理 内每个数的最小质因子,然后对每个数分解出不同质因子;每个数至多 个不同质因子($2\cdot3\cdot5\cdot7\cdot11\cdot13\cdot17\cdot19 = 9699690 < 10^7$)。
- 答案最大接近 ,需要用
long long。
测试点数据说明
| 测试点 | 特点 | |
|---|---|---|
| 1 | 11 | 互质,含官方样例 与各种规模 |
| 2 | 互质,靠近 的大数(含大质数) | |
| 3 | 103 | ,枚举全部 81 个有序对 + 重复 |
| 4 | 100004 | 随机 |
| 5 | 一半 (答案 1),一半 (奇数 时答案 2) | |
| 6 | 100006 | 随机 |
| 7 | 相邻数(必互质,答案 ) | |
| 8 | 1000000 | 全值域随机,前置边界与样例 |
| 9 | 全部 ,答案恒为 1,压输出 | |
| 10 | 混合:(答案 2)、(答案 1)、随机 |