繁体   English   中英

在 java 中查找素数的循环中的问题

[英]issue in loop of finding prime number in java

我知道这里的错误是在 for 循环中,因为它应该是 i=2 但是如果我把它设置为 i=1 那么为什么它没有进入循环。有人可以干运行这段代码并告诉我这到底是怎么回事问题

       if(n==2)
        { return true;} 

      for(int i=1;i<=Math.sqrt(n);i++){
        if(n % i == 0){
            return false;
        }
    }
    return true;

首先,您需要了解其背后的数学原理。 任何数字(即整数正数)除以 1 时都会给出提示 0:

n % 1 == 0

因此,此条件将始终为真。 如果你的情况,一旦你在 n = 1,你返回 false。 我建议你在程序的每一行都打印出 output,你会看到行为。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM