POJ3306 素数筛法

简介:

这题很明显得用素数筛法打出一个素数表 模拟一下求出第n个素数就可以了 

水题啊。。。。

#include <iostream>
#include<cstdio>
#include<cstring>
using namespace std;
#define max 1000005
bool isprime[max];
void getprime()
{
    long long i,j;
    memset(isprime,1,sizeof(isprime));
    isprime[1]=0;
    isprime[0]=0;
    for(i=2; i<max; i++)
        if(isprime[i])
            for(j=i*i; j<max; j+=i)
                isprime[j]=0;
}
int main()
{
    getprime();
    int a,d,n;
    while(~scanf("%d%d%d",&a,&d,&n)&&(a+d+n))
    {
        int i,sum=0;
        for(i=a; sum<n; i+=d)
            if(isprime[i])
            {
                sum++;
                if(sum==n)
                    break;
            }
        printf("%d\n",i);
    }
    return 0;
}


目录
相关文章
|
算法 数据建模 机器学习/深度学习
POJ 1067 取石子游戏
取石子游戏 Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 40917   Accepted: 13826 Description 有两堆石子,数量任意,可以不同。
1086 0
|
测试技术
poj-1218 THE DRUNK JAILER 喝醉的狱卒
自己去看看原题; 题目大意: 就是一个狱卒喝醉了,他第一趟吧所有的监狱都带开,第二趟把能把二整除的监狱关闭,第三趟操作能把三整除的监狱; 求最后能逃跑的罪犯数 输入第一个数是代表 测试数据组数 每个数据代表狱卒来回的次数 当作开关问题即可 #include using names...
959 0
POJ 2027 No Brainer
Problem Description Zombies love to eat brains. Yum. Input The first line contains a single integer n indicating the number of data sets.
840 0