c#を使って入力した数字を素数かどうかを判断するプログラムを組んでいたところどうしても理解できない部分があり調べてもc言語やc++を使ったコードしか見つからなかったので質問させていただきます。
class Program { static void Main(string[] args) { int num = int.Parse(Console.ReadLine()); int i; for (i = 2; i <= num / 2; i++) { if ((num % i) == 0) { break; } } if (i > (num / 2)) { Console.WriteLine("{0}は素数である", num); } else { Console.WriteLine("{0}は素数ではない", num); } } }
for文を抜けるところまでは理解できるのですが、そのあとのif(i > (num / 2))で(num/2)がiよりも小さくなるのが理解できません。for文の初期式でi <= num/ 2と定義しているので等しくなるのはわかりますが小さくなるのはどうしてでしょうか。
> c#を使って入力した数字を素数かどうかを判断するプログラムを組んでいたところどうしても理解できない部分があり
? ご自身でこのプログラムを組んだのではないのですか? ご自分で組んだのに理解できない、とは? 何か別のサイトなどからプログラムのロジックを流用されたということでしょうか。
>何か別のサイトなどからプログラムのロジックを流用されたということでしょうか。
はい、その通りです。
皆さん回答ありがとうございました。わかりやすい回答ばかりでしたので一番早く回答してくださった方をベストアンサーにしたいと思います。
回答3件
あなたの回答
tips
プレビュー