前から知っていたことだけど、コンピュータの計算能力ってすごい。
人間よりはるかに優れているのは、当然みんな知っていることだけど、改めて思い知った。
『Python チュートリアル』という参考書を買ってきたところ、素数をざっくり求めるプログラムが載っていた。(p.30 §4-4)
2は素数。
3は2で割れないので素数。
4は2で割れるので 2*2。
5は2でも3でも4でも割れないので素数。
6は2で割れるので 2*3。
7は2、3、4、5、6で割れないので素数。
…というかなり素数を求めるにしては非効率のプログラムである。
for n in range(2,10):
for x in range(2,n):
if n % x == 0:
print(n, 'equals' , x, '*', n//x)
break
else:
print(n, 'is prime number.')
まぁこんなものは本当に一瞬で計算できてしまうし、何もおもしろくない。
(※prime number は素数という意味。『prime = 主要の、最も重要な』)
そこで、for n in range(2,10)の10を10000にして、2から10,000までの素数を求めるプログラムにしてみた。
for n in range(2,10000):
for x in range(2,n):
if n % x == 0:
break
else:
print(n, end=' ')
わくわくしながらエンターを2連打すると、なんとあろうことか2から1万までの素数がほとんど一瞬で求まってしまったのだった。
(※end=' 'は
2
3
5
…
のように表示されるのを
2 3 5 …
としたかっただけのヤツ。end='myao'とすると
2myao3myao5myao…
となる。)
ちなみにこのパソコン、割と型は古く、ノートパソコンであり、一応CPUはCore i3のナンチャラだけど
ぶっちゃけアドオンもっさりのFirefoxを使えば、ものすっごい遅くなる代物である。
つまり、『Firefoxでブラウジングする、ということは、1万までの素数を求めることより何十倍、何百倍、ともすればそれ以上の難題である。』という常識を、今更ながらに思い知った。
我々にしてみれば、1万までの素数を計算で求める、なんてことは一大事業であるけれど、
どうやら彼らにとっては、全然そんなことはないらしい。
そんなとてつもない能力を、ニコニコ動画などのサイトを見るために使う人間もすごい。
そして『遅いんだよ』なんていう言葉を、12×13も即座にできないような人間が発することはもはや驚きである。
その驚異的な計算能力を、ニコニコで『wwwwwwwwww』なんて入力するためにパソコンを使うって、実は、すごくもったいないことではないだろうか。
歴史的に類を見ない資源の無駄遣いであると思う。
だって、昔に行けば、1万までの素数を即座に計算して表示できちゃう人間なんて
超重宝される。
ていうか、神様扱いされる。
それよりはるかにすげーヤツを、まるで奴隷、いや、奴隷よりめちゃくちゃに酷使できる現代っ子って、じゃあ、最高神みたいなもんじゃん。しかも、お金さえあれば、何個も手に入るとか、気持ち悪すぎる。
いいかげんみんなパソコンを、もっと有意義に使うべきなんじゃないかって思った。
もちろん、ニコニコだっておもしろい(動画もある)から、別に観たら悪いってわけじゃないけどさ。