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

标签 java

我试图解决欧拉项目 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/

相关文章:

java - "Redundant"javadoc - 在面向公众的 API 中是否理想?

java - AspectJ - 避免切入点间接调用自己

java - 内部类以及如何访问它们

java - ConcurrentHashMap 中的死锁

java - 非法访问 : this web application instance has been stopped already. 无法加载 org.apache.log4j.spi.NOPLoggerRepository

java - MapStruct继承,不止一个配置原型(prototype)是application

java - 'Blokus' 游戏的人工智能(1-4 人)

java - 使用 Travis CI 分析 SonarQube.com 上的 Java Gradle 项目

java - 如何使用 Apache HttpClient 在查询中正确编码 "["和 "]"?

java - JSTL:从自定义标签获取变量