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原创,但可以转载,因为我们是兄弟 爬虫能爬到这句话么哈哈哈

相关文章推荐

POJ 1007 Difference Between Primes(线性筛法求N以内的素数表)

Difference Between Primes Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d &...

欧拉线性筛法求素数(顺便实现欧拉函数的求值)

我们先来看一下最经典的埃拉特斯特尼筛法。时间复杂度为O(n loglog n)int ans[MAXN]; void Prime(int n) { int cnt=0; memset(...

欧拉线性筛法求素数(顺便实现欧拉函数的求值)

我们先来看一下最经典的埃拉特斯特尼筛法。时间复杂度为O(n loglog n) int ans[MAXN]; void Prime(int n) { int cnt=0; memset(prime...

欧拉线性筛法求素数 学习报告

筛素数的方法有很多,先说一下Eratosthenes筛法,这种筛法的思想不难理解,就是对不超过n的每个正整数p,依次删除p,2*p,3*p……(k-1)*p,k*p(k*p<=n),最后没被筛除的就是...

线性筛法求素数

线性筛法求素数 博客转载自:http://www.cnblogs.com/grubbyskyer/p/3852421.html 题目:给出一个正整数n,打印出所有从1~n的素数(即质数);   关键...

快速线性筛法求素数

关于快速筛法求素数原理及其与普通筛法求素数效率比较

快速线性筛法求素数 (模板+简单解释)

首先明确任何合数都能表示成一系列素数的积 第一种易于理解的方法: 注意对1的预处理即可,空间较大 var n,m,x,t :longint; i,...

线性筛法求素数

求素数是比较基本的内容,有时候我们会需要打一个素数表。一般如果n比较小我们会使用(%2~sqrtn)这种算法,简单但是时间耗费很多,复杂度是O(n^2)。这里介绍一种筛选求素数法,基本要点是,如果找到...

poj 2262 Goldbach's Conjecture -- 筛法求素数打表

Goldbach's Conjecture Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 4...

poj1014 dfs/背包/类筛法求素数

poj1014 dfs/背包/类筛法求素数
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

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