java - 在Java中如何找到给定数字的随机因子

标签 java

我有一个给定的号码。如何找到该数字的因数(例如,数字 15 的因数为 5 和 3)?这是我尝试过的代码:

int factor1 = 2;

while ((a % factor1 != 0) && (a >= factor1)) {
    d++;
}

if (factor1 == a){
    d = 1;
}

但这只给了我最小的因子(即a始终= 3)。我想获得一组随机因素。

最佳答案

使用模运算符 (%) 从 1 到 N 循环遍历每个数字。如果n%currentNumber==0,它们就是一个因子。下面,我使用 for 循环执行此操作,输出找到的每个因子。

    int number=15;
    for(int i = 1; i <= number; i++){
        if(number%i==0){
            System.out.println("Found factor: " + i);
        }
    }

正如 Theo 在这篇文章的评论中所说,您还可以使用 number/2,并任意包含 1 和 number

    int number=2229348;
    System.out.println("Found factor: " + 1);
    for(int i = 2; i <= number/2; i++){
        if(number%i==0){
            System.out.println("Found factor: " + i);
        }
    }
    System.out.println("Found factor: " + number);

关于java - 在Java中如何找到给定数字的随机因子,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33743043/

相关文章:

java - 在 Spring Controller 中 Autowiring HttpServletRequest

java - 将 bean 添加到 Autowiring 列表

java - 来自 wsdl 的动态 Web 服务客户端

java - 使用字符串验证 SSN

java - viewpager 中的 fragment 转换问题

java - 如果我以更大的 block (即大于 1024 字节)上传大文件,会发生什么情况?

java - Spring : HttpSession returned null object for SPRING_SECURITY_CONTEXT in Clusterd Tomcat failover

java.sql.SQLException : No suitable driver found 异常

java - 确定 java 关闭钩子(Hook)线程中的退出状态

java - Java 正则表达式 Kleene star 的奇怪问题