poj3048 Max Factor
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了poj3048 Max Factor相关的知识,希望对你有一定的参考价值。
http://poj.org/problem?id=3048 (题目链接)
题意
给出n个数,问其中哪个数拥有最大的质因子。
Solution
线性筛求素数
细节
。。
代码
// poj3048 #include<algorithm> #include<iostream> #include<cstring> #include<cstdlib> #include<cstdio> #include<cmath> #define MOD 1000000007 #define inf 2147483640 #define LL long long #define free(a) freopen(a".in","r",stdin);freopen(a".out","w",stdout); using namespace std; const int maxn=20010; int n,p[maxn],vis[maxn]; int main() { free("bbb"); scanf("%d",&n); for (int i=2;i<=20000;i++) { if (!vis[i]) p[++p[0]]=i; for (int j=1;j<=p[0] && i*p[j]<=20000;j++) { vis[p[j]*i]=1; if (i%p[j]==0) break; } } int ans=0,nn=0; for (int x,i=1;i<=n;i++) { scanf("%d",&x); if (x==1 && nn<1) nn=ans=1; for (int j=p[0];j && p[j]>nn;j--) if (x%p[j]==0) nn=p[j],ans=x; } printf("%d",ans); return 0; }
以上是关于poj3048 Max Factor的主要内容,如果未能解决你的问题,请参考以下文章