POJ 1595

来源:互联网 发布:java数组定义 编辑:程序博客网 时间:2024/06/05 09:55

睡觉前水一发

#include <iostream>#include <cstdio>#include <cstring>using namespace std;const int MAX=1000;bool isprime[MAX];int prime[MAX],num_prime;void getprime(){    memset(prime,0,sizeof(prime));    memset(isprime,1,sizeof(isprime));    prime[0]=1;    num_prime=1;    for(int i=2;i<MAX;i++)    {        if(isprime[i]==1)        {            prime[num_prime++]=i;            for(int j=i*i;j<MAX;j+=i)                isprime[j]=0;        }    }}int main(){    getprime();    int n,c;    while(~scanf("%d%d",&n,&c))    {        int sum=0;        for(int i=0;i<num_prime;i++)        {            if(prime[i]<=n)            sum++;        }       // cout<<sum<<endl;       cout<<n<<" "<<c<<":"<<" ";        if(sum%2==0)        {            if(sum/2-c>=0)            {                for(int i=sum/2-c;i<sum/2+c;i++)                    cout<<prime[i]<<" ";                 cout<<endl;            }             else            {              for(int i=0;i<sum;i++)              cout<<prime[i]<<" ";              cout<<endl;            }        }        else        {            if(sum/2-(2*c-2)/2>=0)            {                for(int i=sum/2-(2*c-2)/2;i<=sum/2+(2*c-2)/2;i++)                cout<<prime[i]<<" ";                cout<<endl;            }            else            {                for(int i=0;i<sum;i++)                    cout<<prime[i]<<" ";                cout<<endl;            }        }        cout<<endl;    }    return 0;}


0 0
原创粉丝点击