HDU 2710 Max Factor

http://acm.hdu.edu.cn/showproblem.php?pid=2710

找出拥有最大素因子的数,基本的素数筛选

View Code
#include <stdio.h>

int prime[110000];

int main()

{

    int t,n;

    int i,j;

    int max,maxnum;

    for(i=2;i*i<=100001;i++)

        if(!prime[i])

            for(j=i;j*i<=100001;j++)

                prime[i*j]=1;

    while(~scanf("%d",&t))

    {

        max=-1000000;

        while(t--)

        {

            scanf("%d",&n);

            for(i=n;i>=1;i--)

                if(prime[i]==0&&n%i==0&&max<i)

                {

                    max=i;

                    maxnum=n;

                    break;

                }

        }

        printf("%d\n",maxnum);

    }

    return 0;

}

 

你可能感兴趣的:(HDU)