素因数分解するときは、まず最初に素数を求めておくとよいです。 素数を求める方法は、大きく分けて (1)小さい自然数から順番に1つずつ、素数かどうか確かめていく方法 (2)エラトステネスのふるいで、ふるいにかける方法 の2種類がありあす。 学校で教えてくれるのは(2)の方法かなー? やってみるとわかりますが、(2)が圧倒的に速いです。そのかわり、(1)よりも沢山のメモリが必要で、かつ、あらかじめ求る素数の上限も設定しておかなければいけません 私はこれを比べてみてはじめて、処理速度と消費メモリはトレードオフの関係にあることを実感しました(゜◇゜)