nyoj-26

来源:互联网 发布:刷搜狗下拉框软件 编辑:程序博客网 时间:2024/05/21 15:06
#include<iostream>using namespace std;int a[1000001];void isprime(){int i,j;a[0]=1;a[1]=1;for(i=2;i<1000001;++i)if(!a[i])for(j=i+i;j<1000001;j+=i)a[j]=1;}int count(int x){int i,first=2,cnt=0;for(i=3;i<=x;++i)if(!a[i]){if(i-first<=2)cnt++;first=i;}return cnt;}int main(){int t;isprime();cin>>t;while(t--){int x;cin>>x;cout<<count(x)<<endl;}return 0;}

  标程厉害!!!

 #include <iostream>#include<math.h>using namespace std;bool vis[1000010];int main(){int n=1000010;int m =sqrt(n+0.5);int c=0;for(int i =2;i<=m;i++)if(!vis[i]){for (int j = i*i;j<=n;j+=i) vis[j]=1; }cin>>n;while(n--){int count=0,m;cin>>m;for(int i=3;i<m-1;i++){if(!vis[i] && !vis[i+2]) count++;}if(m>3)cout<<count+1<<endl;else if(m==3) cout<<"1"<<endl;else cout<<"0"<<endl;}return 0;}        

  

原创粉丝点击