C言語でアルゴリズムを勉強しています。
下記のコードのアルゴリズムについて質問です。
while (i <= nb / i)の部分が理解できません。
なぜこの書き方で総当りを避けられるのでしょうか。
エラトステネスの篩を使った方法ならわかるのですが、なぜ下記の書き方ができるのか、根拠を知りたいです。
ご存知の方がいらっしゃいましたら、教えてください。
c
1int ft_is_prime(int nb) 2{ 3 int i; 4 5 i = 2; 6 if (nb <= 1) 7 return (0); 8 9 // ここ! 10 while (i <= nb / i) 11 { 12 if (nb % i == 0) 13 return (0); 14 i++; 15 } 16 return (1); 17}
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/03/20 05:00