#include <cstdio>
#include<iostream>
#include<cstring>
using namespace std;
#define maxlen 1300000
bool a[maxlen];
inline void isp(){
memset(a,1,sizeof(a));
a[0]=a[1]=0;
for(int i=2;i*i<maxlen;i++)
if(a[i])
for(int j=i*i;j<maxlen;j+=i)
a[j]=0;
}
int main(int argc, char** argv) {
int m,ans,i;
isp();
while(scanf("%d",&m) && m){
if(a[m]){
printf("0\n"); continue;
}
i=ans=m;
while(!a[ans]) ans++;
while(!a[i]) i--;
ans-=i;
printf("%d\n",ans);
}
return 0;
}
poj 3518(筛选素数)
最新推荐文章于 2017-05-04 15:17:00 发布