for循环外的语句未执行

螯合物

我是Java新手。我找到了一个名为project eulder的网站,并且正在尝试解决一个问题。我不明白为什么下面的程序除了显示System.out.println(max)时什么都不显示。它进入for循环,但可以显示所有质数,包括最大质数。我只向谁显示最大质数?

public class LargestPrimeFactor {

    public static void main(String[] args) {
        long x = 600851475143L;
        int max = 0;
        for (int i = 1; i <= x; i++) {
            if (x % i == 0)
                if (isPrime(i))
                    max = i;
        }
        System.out.println(max);

    }

    public static boolean isPrime(int n) {
        for (int i = 2; i < n; i++) {
            if (n % i == 0)
                return false;
        }
        return true;
    }
}
乔尼

您已编写了一个无限循环:600851475143L大于可以存储在中的最大值int,因此i <= x将始终为true

更改i和所有其他相关变量long可以解决此问题,但是您仍然必须重新考虑算法。检查600851475143数字是否为质数将花费太长时间。

提示:一旦找到要除的数,x就可以除以x该数字...(希望这不会破坏乐趣)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

在foreach循环块外继续执行语句

来自分类Dev

在for循环中,bash中的awk语句未执行

来自分类Dev

在if语句中执行for循环

来自分类Dev

在if语句中执行的switch语句未执行

来自分类Dev

while循环外的else语句

来自分类Dev

while循环未执行

来自分类Dev

行内循环未执行

来自分类Dev

While循环未执行

来自分类Dev

For循环未执行

来自分类Dev

我的for循环未执行?

来自分类Dev

Java for 循环未执行

来自分类Dev

在这里,对于非素数,执行内循环中的break语句,但不执行外循环中的else语句,为什么?

来自分类Dev

JavaScript条件语句未执行

来自分类Dev

否则,if语句似乎未执行

来自分类Dev

使用If语句的函数未执行

来自分类Dev

Sharepoint JScript if语句未执行

来自分类Dev

JavaScript函数未执行if语句

来自分类Dev

Python 打印语句未执行

来自分类Dev

VBScript For循环不执行if语句?

来自分类Dev

R:在for循环中执行if语句

来自分类Dev

for 循环中发生分段错误(未执行正文语句)C

来自分类Dev

芹菜循环任务未执行

来自分类Dev

Coffeescript / Javascript循环未执行

来自分类Dev

Java While循环未执行

来自分类Dev

Coffeescript / Javascript循环未执行

来自分类Dev

手表外的语句未运行

来自分类Dev

For循环执行jquery函数未执行

来自分类Dev

Docker RUN语句(修改文件)未执行

来自分类Dev

Java计算器未执行if语句