题目:http://acm.hdu.edu.cn/showproblem.php?pid=3792
总是超时,搞了半天才搞好,抑郁。。。。。。。。。。。。。。。。。。。。。。
代码:
[服务器生成] 通行证:KSDA291730794 密码:21024731 #include<stdio.h> #include<math.h> #define N 100000 int main(){ int n,i,j,temp,a[N],b[N]; a[0]=a[1]=0; for(i=2;i<N;i++){ a[i]=1;//数组初始化; } temp=(int)sqrt(N); for(i=2;i<=temp;i++){ for(j=2*i;j<N;j+=i){ a[j]=0;//素数的倍数不是素数; } } b[0]=b[1]=b[2]=0; for(i=3;i<N;i++){ if(a[i]==1&&a[i-2]==1){ b[i]=b[i-1]+1; } else{ b[i]=b[i-1]; } }// for(i=0;i<=20;i++) printf("%d ",b[i]); while(scanf("%d",&n)!=EOF){ if(n<0){ break; } printf("%d\n",b[n]); } }
posted on 2011-03-14 20:59 江南烟雨hust 阅读(201) 评论(0) 收藏 举报