prime gap
仅以素数开头和结束的序列 例如:13 14 15 16 17 (长度为17-13=4)
给定一个整数k ,输出包含 k 的prime gap的长度。 如果k是素数 ,输出0
#include<iostream>
#include<math.h>
using namespace std;
bool Isprime(int n) //素数判断
{
int i = 0;
for(i = 2; i <=(int)sqrt(n*1.0); i++)
if(n % i == 0)
return false;
return true;
}
int main()
{
int i,k,N,s,b;
while( scanf("%d",&N)&&N )
{
if(Isprime(N))
{
printf("0\n");
continue;
}
i=N+1;
while(1)
{
if(Isprime(i))
{
b=i;
break;
}
i++;
}
i=N-1;
while(1)
{
if(Isprime(i))
{
s=i;
break;
}
i--;
}
printf("%d\n",b-s);
}
return 0;
}