读书人

2012湖南省邀请赛A题

发布时间: 2013-03-12 11:19:35 作者: rapoo

2012湖南邀请赛A题

/*方法:打表 解析:奇数 = 奇合数 + 偶数假设某个奇数 x ,那么只有 x - 4 之前的奇合数才符合要求 */#include<iostream>#include<cstdio>#include<algorithm>using namespace std;#define manx  1000009long long x[manx];bool s[manx];void prime(){    for(int i=0;i<manx;i++) x[manx]=0,s[i]=0;    for(int i=2;i*i<manx;i++){        if(!s[i]){            for(int j=2;j*i<manx;j++)                s[j*i]=1;        }    }   }void fan(){        int len=0;    for(int i=9;i<manx;i++){        if(s[i] && i%2) len++;        x[i]=len;          }}int main(){    int n;    prime();    fan();    while(cin>>n){        cout<<x[n]<<endl;    }}



读书人网 >其他相关

热点推荐