hdu 2710

来源:互联网 发布:中六保五缩水软件 编辑:程序博客网 时间:2024/05/02 01:56

题意:求一个数的最大素数因子

<pre name="code" class="html">#include<cstdio>#include<cstring>#include<string>#include<algorithm>using namespace std;const int maxn=221009;int a[maxn];int b[maxn];int t,n;//离线表示素数// for (int i = 2; i <= sqrt; i++)//            {//                for (int j = i; j * i <= n; j++)//                {//                    array[j * i] = false;//                }//            }int main(){    memset(a,0,sizeof(a));    a[0]=0;    a[1]=1;    for(int i=2;i<20010;i++)//求一个数的最大素数因子    {        if(!a[i])        {a[i]=i;        for(int j=i+i;j<20008;j+=i)        {            a[j]=i;//将它的倍数都标记为该数;        }        }    }    while(scanf("%d",&n)!=EOF)    {        int Max=0;        for(int i=0;i<n;i++)        {            scanf("%d",&t);            if(a[t]>a[Max])             {Max=t;             }             // printf("%d\n",a[t]);        }        printf("%d\n",Max);    }    return 0;}



0 0
原创粉丝点击