0

この質問は以前にも回答があったことは知っていますが、その質問についての説明がよくわかりませんでした。

私は HackerRank で 30 日間のコードを作成していましたが、演習の 1 つは、数値が素数かどうかを確認することでした。残念ながら、私は自分でそれを行うことができなかったので、何度も試みた後に与えられた解決策を確認しました. ソリューションを見た後でも、次の行のいずれかを理解できません。

// Check for primality using odd numbers from 3 to sqrt(n)
for(int i = 3; i <= sqrt(n); i += 2){
    // n is not prime if it is evenly divisible by some 'i' in this range
    if( n % i == 0 ){ 
        isPrime = false;
    }
}

がループでsqrt(n)使用されるのはなぜですか?for

4

1 に答える 1