#zHISHUlydlt30x3102. 质数距离 Prime Distance

质数距离 Prime Distance

题目描述

给定两个整数 LLUU,你需要在闭区间 [L,U][L,U] 内找到距离最接近的两个相邻质数 C1C_1C2C_2C1<C2C_1 < C_2)(即 C2C1C_2 - C_1 是最小的),如果存在相同距离的其他相邻质数对,则输出第一对。

同时,你还需要找到距离最远的两个相邻质数 D1D_1D2D_2D1<D2D_1 < D_2)(即 D2D1D_2 - D_1 是最大的),如果存在相同距离的其他相邻质数对,则输出第一对。

输入格式

每行输入两个整数 LLUU,其中 LLUU 的差值不会超过 10610^6

输出格式

对于每个 LLUU,输出一个结果,结果占一行。

结果包括距离最近的相邻质数对和距离最远的相邻质数对。(具体格式参照样例)

如果 LLUU 之间不存在质数对,则输出 There are no adjacent primes.

样例

输入样例:

2 17
14 17

输出样例:

2,3 are closest, 7,11 are most distant.
There are no adjacent primes.

样例解释

第一个样例:区间 [2,17][2,17] 内的质数有:2, 3, 5, 7, 11, 13, 17。

相邻质数对的差:

  • 2,3 → 差 1
  • 3,5 → 差 2
  • 5,7 → 差 2
  • 7,11 → 差 4
  • 11,13 → 差 2
  • 13,17 → 差 4

距离最近的是 (2,3),差为 1。
距离最远的是 (7,11) 或 (13,17),差为 4,取第一对 (7,11)。

输出:2,3 are closest, 7,11 are most distant.

第二个样例:区间 [14,17][14,17] 内质数只有 17(或考虑 13 不在区间内),所以不存在相邻质数对,输出 There are no adjacent primes.

数据范围

  • 1L<U23111 \le L < U \le 2^{31}-1
  • UL106U-L \le 10^6

时空限制

  • 时间限制:1 秒
  • 空间限制:64 MB