自己写的代码,最后一个判断点超时
#include<stdio.h>
int main()
{
int N,x=2,cnt=0;
int ret[9591]={2,3};
scanf("%d", &N);
for(int n=2;n<=N;n++){
int p=0;
for(int i=2;i<n;i++){
if(n%i==0){
p++;
break;
}
}
if(p==0){
ret[x]=n;
if(ret[x]-ret[x-1]==2){
cnt++;
}
x++;
}
}
printf("%d", cnt);
return 0;
}
csdn上找的欧拉筛法,修改一部分
#include<stdio.h>
int main()
{
int N,x=2,cnt=0;
int ret[9591]={2,3};
scanf("%d", &N);
for(int n=2;n<=N;n++){
int p=0;
for(int i=2;i<n;i++){
if(n%i==0){
p++;
break;
}
}
if(p==0){
ret[x]=n;
if(ret[x]-ret[x-1]==2){
cnt++;
}
x++;
}
}
printf("%d", cnt);
return 0;
}