このプログラムは,私も昔作ったことがある。
d=3以上は,d←d+2 で奇数にしたほうが速く回る。プログラムは長くなりますが,回る回数が半分になる。
割り切れる数を見つけた(n mod d =0)ら,
その数を書いて,\u0026quot;×\u0026quot; を付ける。
これを繰り返すと,nが素数になったときに,while から飛び出すので,
残っている素数nを最後に書く。
1回目にwhile を通ると,
d=2,n=84→42,結果 \u0026quot;2×\u0026quot;
2回目にwhile を通ると,
d=2,n=42→21,結果 \u0026quot;2×2×\u0026quot;
3回目にwhile を通ると,(else の方を回る)
d=2→3,n=21,結果 \u0026quot;2×2×\u0026quot;
4回目にwhile を通ると,
d=3,n=21→7,結果 \u0026quot;2×2×3×\u0026quot;
5回目にwhle に入ると,n=7,d=3 で,nがd²より小さいので,while から飛び出す。
最後に,残っている素数\u0026quot;7\u0026quot; を付けて,結果は,\u0026quot;2×2×3×7\u0026quot; となる。