您的位置:首页 > 其它

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

2016-10-19 22:16 316 查看
题目:

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
4000
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)+"毫秒");
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐