c语言求遥远的素数,如图

img


最远的两个素数之前的差。
样例输入
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;
    
    
}