POJ 1595 素数筛法

简介:

题意让求一段素数中间的几个素数 用素数筛法筛出范围内的素数然后确定一下就行了 注意题目中1也算作素数了 具体看代码

#include <iostream>
#include<cstdio>
#include<cstring>
using namespace std;
#define max 2000
bool isprime[max];
int prime[max],nprime;
void getprime()
{
    memset(isprime,1,sizeof(isprime));
    isprime[1]=0;
    long long i,j;
    nprime=1;
    prime[1]=1;
    for(i=2; i<max; i++)
    {
        if(isprime[i])
            prime[++nprime]=i;
        for(j=i*i; j<max; j+=i)
            isprime[j]=0;
    }
}
int main()
{
    getprime();
    int n,c,f=0;
    while(cin>>n>>c)
    {
        int s;
        if(f)
            cout<<endl;
        f=1;
        for(s=1; prime[s]<=n; s++);
        s--;
        cout<<n<<" "<<c<<": ";
        if(2*c>=s)
            for(int i=1; i<=s; i++)
                if(i!=s)
                    cout<<prime[i]<<" ";
                else
                    cout<<prime[i]<<endl;
        else if(s%2)
            for(int i=s/2+1,j=-c+1; j<=c-1; j++)
                if(j!=c-1)
                    cout<<prime[i+j]<<" ";
                else
                    cout<<prime[i+j]<<endl;
        else if(s%2==0)
            for(int i=s/2,j=-c+1; j<=c; j++)
                if(j!=c)
                    cout<<prime[i+j]<<" ";
                else
                    cout<<prime[i+j]<<endl;
    }
    return 0;
}


目录
相关文章
|
6月前
Hopscotch(POJ-3050)
Hopscotch(POJ-3050)
|
6月前
|
算法 数据建模
Poj 3169(差分约束系统)
Poj 3169(差分约束系统)
34 0
POJ 1012 Joseph
Joseph Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 53862   Accepted: 20551 Description The Joseph's problem is notoriously known.
841 0
|
算法 机器人 编译器
POJ-2632
#include int main() { int k,a,b,n,m,i,j,num,rep,rect[100][100],robot[100][3]; int flag; char c; for(scanf("%d...
928 0
|
机器学习/深度学习