簡體   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