发布时间:2019-07-04 10:03:11编辑:auto阅读(2034)
The prime factors of 13195 are 5, 7, 13 and 29.
What is the largest prime factor of the number 600851475143 ?
13195 的素数因数是 5, 7, 13 和 29.
那么数字 600851475143 最大的素数因数的多少?
public class Euler3
{
    //返回一个一维素数数组,长度为length
    public static int[] getPrimeArray(int length)
    {
        int[] prime =new int[length];
        prime[0]=2;
        for(int num=3,lengthTemp=1;lengthTemp!=length;num+=2)
        {
            int i;
            boolean primeFlag=true;
            for(i=3;i<=Math.sqrt(num);i+=2)
            {
                if(num%i==0)
                {
                    primeFlag=false;
                    break;
                }
            }
            if(primeFlag==true)
            {
                prime[lengthTemp]=num;
                lengthTemp++;
            }
        }
        System.out.println("已生成素数数组,长度为"+length+"最后一个元素为"+prime[length-1]);
        return prime;
    }
    public static void main(String[] args)
    {
        int length=1000,primeMax=2;
        long num=600851475143L;
        int[] prime=Euler3.getPrimeArray(length);
        for(int i=0;i<length && prime[i]<=num;i++)
        {
            while(num%prime[i]==0)
            {
                primeMax=prime[i];
                num/=prime[i];
            }
        }
        System.out.println("primeMax="+primeMax);
    }
}
上一篇: perl学习笔记(3)
下一篇: MySQL专题3之MySQL管理
 51194
 50609
 41233
 38051
 32513
 29420
 28281
 23136
 23094
 21432
 1488°
 2202°
 1825°
 1752°
 2064°
 1813°
 2498°
 4193°
 4055°
 2894°