当前位置: 首页 > 知识库问答 >
问题:

用java语言求素数的素数因子

松高爽
2023-03-14

我试图找到素数的素数因子,然后将它们添加到一个数组中,该方法将返回该数组。我的方法甚至没有结果,程序只是继续运行。有人能找出哪里出了问题吗?谢谢。

checkIfPrime方法是我之前写的一个有效的方法。它只是检查一个数字是否为素数,返回一个布尔值。我把它放在那里是为了检查minusPrime何时被划分为一个质数,而质数将不再被划分,并将其作为最后一个因子添加到数组中。

public static ArrayList<BigInteger> findPrimeFactors2(BigInteger number){
        BigInteger minusPrime = number.subtract(BigInteger.ONE);
        ArrayList<BigInteger> arrayWithPF = new ArrayList<BigInteger>();
        BigInteger divisor = BigInteger.valueOf(2);
        BigInteger modulo = BigInteger.ZERO;
        boolean continueToModulo = true;
        while(continueToModulo){
            if(minusPrime.mod(divisor).equals(BigInteger.ZERO)){
                minusPrime = minusPrime.divide(divisor);
                if(!arrayWithPF.contains(divisor)){
                    arrayWithPF.add(divisor);
                }
            }
            else{
                divisor = divisor.add(BigInteger.ONE);
            }
            
            if(checkIfPrime(minusPrime)){
                arrayWithPF.add(minusPrime);
                continueToModulo = false;
            }
               
        }
        
        return arrayWithPF;
        
    }

共有1个答案

祁修诚
2023-03-14

这其实不是一个答案。。。。我怎么也不明白你的意思。。寻找素数的素因子!!??如果是这样的话,答案是1,这个数字。

 类似资料:
  • 本文向大家介绍GO语言求100以内的素数,包括了GO语言求100以内的素数的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了GO语言筛选法求100以内的素数。分享给大家供大家参考。具体实现方法如下: 思路:找出一个非素数就把它挖掉,最后剩下就是素数。 下面就来欣赏一下go简洁的代码吧 目前不支持GO的代码插入,使用xml的代替一下。 希望本文所述对大家的GO语言程序设计有所帮助。

  • 本文向大家介绍Objective-C语言找出数组中的元素数,包括了Objective-C语言找出数组中的元素数的使用技巧和注意事项,需要的朋友参考一下 示例            

  • 我制作了一个两个类,构造类和main方法,其中我从用户输入中读取一个数字,并吐出该数字的素数分解,代码是用Java编写的。 主要方法: 这是我的课:

  • 本文向大家介绍C语言实现的统计素数并求和代码分享,包括了C语言实现的统计素数并求和代码分享的使用技巧和注意事项,需要的朋友参考一下 题目来源于PAT平台,此题又是费了一番脑子。题目要求输出给定区间内的素数个数并对他们求和。具体思路是利用循环判断素数,将结果传递给控制变量,由控制变量再来判断是否执行自增以及求和。当然这里必须要注意1既不是素数也不是合数。 下面是代码:

  • 我试图解决这个问题:https://www.hackerrank.com/contests/projecteuler/challenges/euler003/submissions/code/2977447 13195的质因数是5、7、13、29。 给定数N的最大素因子是什么? 输入格式第一行包含T,测试用例数。后面是T行,每行包含一个整数N。 每个测试用例的输出格式,显示N的最大素因子。 约束条

  • 本文向大家介绍Java程序,查找数字的唯一素数因子的乘积,包括了Java程序,查找数字的唯一素数因子的乘积的使用技巧和注意事项,需要的朋友参考一下 Java程序,查找数字的唯一素数因子的乘积,Java代码如下- 示例 输出结果 一个名为Demo的类包含一个名为素数因子的静态函数,该函数查找一个数字的素数因子,查找唯一的数字,并将这些素数因子的乘积存储在一个变量中。在main函数中,定义了数字的值,