2008/05/07(水)
特に利用目的はないけれど、任意の数字を因数分解する、ちょっとしたお遊びプログラム。
数学の世界では、素数の数列を記述する有効な方程式はまだ発見されていない。だから大きな桁の素数を掛け合わせた場合、その結果だけを用いて再び素因数分解するのは、たとえコンピュータといえど膨大な計算時間を必要とする。現在の暗号化技術はこれを利用しているので、もし万が一、素数列を記述する方程式が発見され、悪用されたら、世界中に大激震が走ることになる。
まあ、そんな大それた話は別としても、7桁や8桁の数字でも、手計算では結構大変だ。たとえば、次の5つの数字が約数を持つかどうか、手計算で(電卓くらい使ってもいいけど)調べてみてください。
100000007、100000037、100639681、100639699、100639703
実はこれらはどれも素数である(はずだ。……間違ってたら教えてください)。
あるいはこんなのはどうか? 1010101 とか 101010101 といった数字。
これはちゃんと因数分解できるけど、やっぱり手計算だと面倒くさい。結果は以下のとおり。
1010101 = 73 x 101 x 137
101010101 = 41 x 271 x 9091
こんな約数になるなんて、まったく予測できないでしょう? 他にも、ぼくが面白いと思った素因数分解を、以下にあげておく。
11111 = 41 x 271
10101 = 3 x 7 x 13 x 37
111111 = 11 x 10101 = 3 x 7 x 11 x 13 x 37
1111111 = 239 x 4649
11111111 = 11 x 1010101 = 11 x 73 x 101 x 137
111111111 = 3 x 3 x 37 x 333667
1111111111 = 11 x 101010101 = 11 x 41 x 271 x 9091
1234567 = 127 x 9721
123456789 = 3 x 3 x 3607 x 3803
987654321 = 3 x 3 x 17 x 17 x 379721
100000001 = 17 x 5882353
1000000001 = 7 x 11 x 13 x 19 x 52579
なんだか不思議な感じがしませんか?
Filed under: Sample | タグ: お遊び, 数学
Tail-Lagoon @ 13:56
|
PageUp