欧拉工程第三题 找出一个合数的最大质数因子

来源:互联网 发布:人体辉光 知乎 编辑:程序博客网 时间:2024/06/05 16:17

题目:
13195的质数因子有5,7,13和29。
600851475143的最大质数因子是多少?

解题方法:
本次求解过程使用了一个比较聪明的做法,这也是经过仔细思考之后才想出来的,当然也是受到了某位朋友的启发。
由于方法恰当,使得代码量减少,运行效率也得到了提高。类中的方法使用了两个迭代,这是一个比较特点的地方。

程序代码:

public class LargestPrimeFactor {    public static long largestPrimeFactor(long number){        if(number%2==0) return largestPrimeFactor(number/2);        for(long i=3;i*i<=number;i=i+2)        {            if(number%i==0) return largestPrimeFactor(number/i);        }        return number;    }    public static void main(String[] args) {        LargestPrimeFactor lpf=new LargestPrimeFactor();        long start=System.currentTimeMillis();        System.out.println(lpf.largestPrimeFactor(600851475143L));        long end=System.currentTimeMillis();        System.out.println((end-start)+"毫秒");    }}
0 0
原创粉丝点击