最远的两个素数之前的差。
样例输入
2
1 10
8 96
样例输出
5
78
相距最远的素数一定是分别离两个端点最近的素数,所以可以分别从两端遍历,判断是否为素数,找到离两端最近的素数。他们的差值即为所求。
#include<stdio.h>
#include<math.h>
int fun(int n)
{
if(n==1)
return 0;
int i;
for(i=2;i<=sqrt(n);i++)
{
if(n%i==0)
return 0;
}
return 1;
}
int main()
{
int m,n;
scanf("%d%d",&m,&n);
int i,j,a=0,b=0;
for(i=m;i<=n;i++)
{
if(fun(i))
{
a=i;
break;
}
}
for(j=n;j>=m;j--)
{
if(fun(j))
{
b=j;
break;
}
}
printf("%d",b-a);
return 0;
}