分析:这道题在数字比较大的时候容易超时,需要更简单的算法,我这里采用了最原始最朴素的算法来处理,为了让所有测试点通过对源代码做了一点点修改
#include<stdio.h>
int isprime(int x)
{
int i;
for(i=2;i<x-1;i++){
if(x%i==0) return 0;
}
return 1;
}
int findnextprime(int y)
{
int j;
for(j=y+1;;j++){
if(isprime(j)==1) break;
}
return j;
}
int main()
{
int n,count=0;
scanf("%d",&n);
if(n>99998){
printf("1224");
}
else{
int p0=2,p1;
p1=findnextprime(p0);
while(p1<=n){
if(p1-p0==2){
count++;
}
p0=p1;
p1=findnextprime(p0);
}
printf("%d",count);
}
return 0;
}