#include<stdio.h> #include<math.h> #include<algorithm> #include<string.h> using namespace std; #define maxsize 1000000 int ani=1; bool a[maxsize]; void init()\\素数筛选 { for(int i=2;i<1000000;i++) { for(int j=2;i*j<1000000;j++) { a[i*j]=true; } } } int main() { memset(a,false,sizeof(a)); init(); a[1]=true; a[0]=true; int x,y; int b[100000]; int l=0; for(int i=2;i<100000;i++)\\只留下素数 if(!a[i]) b[l++]=i; int c[100000]; c[0]=0; memset(c,0,sizeof(c));; for(int i=1;i<l;i++)\\预处理 { if(b[i]-b[i-1]==2) c[b[i]]=c[b[i-1]]+1; else c[b[i]]=c[b[i-1]]; } while(scanf("%d",&x)&&x>=0) { while(c[x]==0&&x!=0) x--; printf("%d\n",c[x]); } }