Sunday, Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, 06-18-2008
学校で勉強したことが,後の人生で役に立つのはうれしいけれど,それが全く役に立たなくても勉強する意味がない,ということではないと思う.
若い頃は,使い道なんか気にせずに勉強のために勉強すればいいんだよね.でもそういうことは得てして若くなくなってから悟る.
素因数分解がしたい.
ちょっと前 ピタゴラス数を計算しよう! を作った時に,素数だとか,「互いに素」だとかを計算する必要性があった.そこからの続き.
素因数分解のプログラムを書いてみた.英語だと Prime Factorization.
使い方は簡単.X のところに素因数分解したい数字(7千兆くらいまで)を入れて Submit ボタンを押す.How many? を 1 以外にすると(例えば 100),X に入れた数字から 100個の数字を素因数分解する.
素因数分解する,素数かどうか判断する,くらいしか用途はない.回りくどいけれど,ストレス解消にも使えるっけ.
素因数分解を効率よくする方法にはいろいろあるようだけど,これは「ひたすら力技」.とりあえず小さい数で割ってみる,という方法.ま,ある程度効率よくやってはいるけれど,特に深く考えて作った訳ではない.
桁が大きくて,因数が少ないと(あるいは素数だと)時間がかかる.
これを作ったおかげで,僕が知っている一番大きい素数が,6千兆1になった.6,0が14個,1.だ.