gpt4 book ai didi

java - 最大素因子-欧拉工程

转载 作者:行者123 更新时间:2023-12-01 12:45:13 27 4
gpt4 key购买 nike

我试图解决欧拉项目 problem 3这是:

13195 的质因数是 5、7、13 和 29。数字 600851475143 的最大质因数是多少?

这是我的解决方案,它适用于较小的值,但不知何故无法完成所需的数量:

public class Pro3 {
public static void main(String[] args) {
long l=600851475143L;
for(long lo=l/2;lo>=2;lo--){
if(l%lo==0 && isPrime(lo)==true){
System.out.println(lo);
break;
}
}
}

static boolean isPrime(long x){
for(int i=2;i<=Math.sqrt(x);i++){
if(x%i==0){
return false;
}

}
return true;
}
}

最佳答案

你可以试试这个方法

 public static List<Double> primeFactors(double numbers) {
double n = numbers;
List<Double> factors = new ArrayList<>();
for (int i = 2; i <= n / i; i++) {
while (n % i == 0) {
factors.add((double) i);
n /= i;
}
}
if (n > 1) {
factors.add(n);
}
return factors;
}

public static void main(String[] args) {
List<Double> result=primeFactors(600851475143d);
System.out.println("largest prime factor is :" + result.get(result.size()-1));
}

输出:

largest prime factor is :6857.0

关于java - 最大素因子-欧拉工程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24772139/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com