質問: y / i; } } } } ```
回答: 実際に紙面上で素因数分解しながら読んでください。例えば540の素因数分解を考えます。 1. まず一番小さな素数"2"で割れるか試します(for文でi=2)。 2. その素数で割れるだけ割ります(`while(y%i==0)`)。 540/2=270,270/2=135,135は2で割れない 3. 次の素数"3"で割れるか試します(forの更新文i++)。 4. その素数で割れるだけ割ります(`while(y%i==0)`)。 135/3=45,45/3=15,15/3=5,5は3で割れない 5. 次の素数"5"で割れるか試します。 正確にはいったんiは4になりますが、前のステップで2で割れるだけ割っているため、 4では絶対割り切れないのでwhile文に入れず次のforに入る。 6. その素数で割れるだけ割ります(`while(y%i==0)`)。 5/5=1 という行程を踏むループになっています。