POJ 3048 线性筛法求素数

原创 2016年08月28日 16:40:51

一个坑:
有组数据如下:
1
1

坑很深……

//By SiriusRen
#include <cstdio>
#define N 200000
using namespace std;
int n,mindiv[200050],prime[100000],top=0,xx,rec;
int main(){
    for(int i=2;i<=N;i++)
    {
        if(!mindiv[i])prime[++top]=mindiv[i]=i;
        for(int j=1;j<=top&&prime[j]*i<=N;j++)
        {
            mindiv[prime[j]*i]=prime[j];
            if(!(i%prime[j]))break;
        }
    }
    prime[0]=1;
    while(~scanf("%d",&n))
    {
        int ans=0;
        while(n--)
        {
            scanf("%d",&xx);
            for(int i=0;prime[i]<=xx;i++)
            {
                if(!(xx%prime[i])&&ans<prime[i])ans=prime[i],rec=xx;
            }
        }
        printf("%d\n",rec);
    }
}

这里写图片描述

版权声明:本文由SiriusRen原创,未经允许不得转载

一般筛法和快速线性筛法求素数 求素数的一点总结

素数总是一个比较常涉及到的内容,掌握求素数的方法是一项基本功。基本原则就是题目如果只需要判断少量数字是否为素数,直接枚举因子2 。。N^(0.5) ,看看能否整除N。如果需要判断的次数较多,则先用下面...
  • bobodem
  • bobodem
  • 2015年10月24日 16:32
  • 1523

筛法求素数--nyoj

求1-MAX内的一切素数,并输出,方法有很多这是效率相对比较高的一种; 对于筛法,首先要有一定的了解,首先定义全部为真,然后筛选里面不满足条件的; 思路:首先宏定义  MAX的范围,su[MAX]素数...
  • qq_35416079
  • qq_35416079
  • 2016年07月13日 15:31
  • 130

线性筛法求素数

线性筛法求素数,顾名思义,其时间复杂度为O(n)。我是第一次接触线性筛法求素数,其中有些难理解的地方的确花了很多时间。先放出代码:#include using namespace std; ...
  • titikdhu
  • titikdhu
  • 2010年07月22日 02:42
  • 8406

求素数: 一般线性筛法 + 快速线性筛法

From: http://blog.csdn.net/dinosoft/article/details/5829550 素数总是一个比较常涉及到的内容,掌握求素数的方法是一项基本功。 基本原则...
  • JoeBlackzqq
  • JoeBlackzqq
  • 2015年03月11日 14:53
  • 1141

线性筛法求素数

普通筛法 先讲一下普通的筛法。筛法,顾名思义,就是筛掉合数,剩下的就是素数了。 我们知道,合数一定可以分解为两个或以上的素数,所以我们只需要对于每一个素数ii,枚举一个大于22的数jj,将i...
  • XianHaoMing
  • XianHaoMing
  • 2016年03月22日 12:35
  • 2320

POJ3048 HDU2710 Max Factor【筛选法+水题】

Max Factor Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 6900   Acc...
  • tigerisland45
  • tigerisland45
  • 2016年08月09日 13:15
  • 740

一般筛法求素数+快速线性筛法求素数

TAG 素数  数论 素数总是一个比较常涉及到的内容,掌握求素数的方法是一项基本功。 基本原则就是题目如果只需要判断少量数字是否为素数,直接枚举因子2 。。N^(0.5) ,看...
  • dg357442101
  • dg357442101
  • 2016年02月19日 15:08
  • 196

{模板}线性筛法求素数

for (int i = 2;i
  • FarmerJohnOfZS
  • FarmerJohnOfZS
  • 2016年11月17日 12:22
  • 291

线性筛法求素数【Template】

#include #include #include using namespace std; const int maxn = 1e3; int vis[maxn]; int prime[maxn]...
  • Irish_Moonshine
  • Irish_Moonshine
  • 2017年10月22日 16:08
  • 66

短小精悍的线性筛法求素数

输入n,求n以内的所有素数算法用两个数组存储数据:一个是prime[],存储n以内所有的素数,其index为pi,初值为0一个是is_prime[i],表示自然数i(i...
  • net_assassin
  • net_assassin
  • 2014年11月20日 14:18
  • 3928
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:POJ 3048 线性筛法求素数
举报原因:
原因补充:

(最多只允许输入30个字)