Problem2872--素数距离

2872: 素数距离

Time Limit: 1 Sec  Memory Limit: 128 MB
Submit: 0  Solved: 0
[Status] [Submit] [Creator:]

Description

素数是指除了1和它本身不能被其他数整除的数。第一个素数是2,紧接着的几个素数是3,5,7,但是后面素数的出现的频率就没有那么高了。
相邻素数是指两个数都是素数,而且这两个素数之间没有其他的素数,例如2和3不仅仅是相邻素数还是相邻的两个数。
编写一个程序,给定两个数字L和U,在这个范围内找到两个距离最近的相邻素数C1和C2(即C2-C1是最小的),你还需要找到另外两个相邻素数D1和D2,使得D1和D2的距离尽可能的大(即D2-D1是最大的)。如果存在相同距离的其他对,使用第一对,其中1≤L<U≤2^31-1,L≤C1<C2≤U,L≤D1<D2≤U。

Input

包含多组测试数据,每组数据一行,包含两个正整数L和U,L<U,L和U之间的差值不能超过1000000

Output

对于输入的每组L和U,分别输出最近的一对相邻素数和最远的一对相邻素数,输出格式参考输出样例。如果不存在相邻素数(因为L和U之间可能没有两个素数),输出”There are no adjacent primes.“

Sample Input Copy

2 17
14 17

Sample Output Copy

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

Source/Category