java - 除数范围 (Java)

标签 java

我不太确定我在这里遇到了什么问题,我希望有人可以帮助我。这是我在 Stack Overflow 上发表的第一篇文章,我对编程还比较陌生,所以我希望我不会冒犯这里任何人的情感。

这里是提示(是的,这是一个欧拉计划问题,请不要泄露答案):能被 1 到 20 之间的每个数字整除的最小数字是多少?

这是我编码的内容:

    int target = 21;
    int divisor;
    boolean success = false;
    while (!success)
    {
        for (divisor = 1; divisor < 21; divisor++)
        {
            if (target % divisor != 0)
            {
                break;
            }
            else
            {
                if (divisor == 20)
                {
                    success = true;
                }
            }
        target++;
        }

    }

    System.out.println(target);

我得到的答案 (232792581) 被 P.E. 标记为不正确。谁能告诉我这里出了什么问题?

谢谢大家!!

最佳答案

您的问题是您的 target++ 位于错误的位置。按照您现在的代码方式,这是在测试数字的 for 循环内调用的 - 即,您在检查目标的同时更改目标。移动 target++ 语句,使其脱离 for 循环,但仍在 while 循环中。

关于java - 除数范围 (Java),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20864626/

相关文章:

java - 将字符映射到国际键集的键码

java - 带 Spring Roo 的嵌入式套件(脚手架)

当新文件添加到监视文件夹时,Java NIO 监视服务创建了 'ENTRY_CREATE' 和 'ENTRY_MODIFY'

java - 在 Jersey JAX-RS 中将 JSON 对象转换为 Java 对象

java - 如何将 java 程序包装到单个 exe 文件中,包括像 bouncycaSTLe 这样的签名 jar

java - 如何在 Android 4.0+ 设备上以编程方式禁用 "Window animation scale"?

java - 如何用触摸屏使Java JButton在视觉上有压抑感?

java - jar 中的 MANIFEST.MF 出现问题

java - 将 Gradle 模块包含到 Maven 项目中

java - 为什么 Java 不支持强制转换和自动装箱?