2のn乗のザックリ計算(問題演習編)
デジタルは2進法の世界ですから、「2 の何乗」という数字がしょっちゅう出てきます。そんなとき、まともに計算してはいられません。そこで「2 の何乗」の値を瞬時にザックリ計算する方法をお教えしましょう。
正確には $${2^{10}}$$ = 1024 ですが、これを $${2^{10}}$$ ≒ 1000(= $${10^3}$$) とすると、$${2^n}$$ の概数が瞬時に求められます。このとき、$${2^{20}}$$ ≒ 百万、$${2^{30}}$$ ≒ 十億、$${2^{40}}$$ ≒ 一兆、…となります。ですから、たとえば $${2^{35}}$$ の概数を求めるには、
┌→┐
◇ $${2^{35}}$$ = 32 十億 = 320 億 。
└─→──┘
これでいいわけです。いろんな場面で使えて、重宝しますよ。
さっそく使ってみましょう。問題形式で、立て続けに4ついきます。
《答1》 紙の厚さ0.1 mmの十倍が1 mmで、さらにその千倍が1 mですから、1 mは紙の厚さの1万倍ですね。
ということは、東京スカイツリーの高さは紙の厚さの634万倍となります。…(1)
一方、紙を1回折るごとに厚さは2倍になりますから、紙をn回折ると厚さは $${2^n}$$ 倍になります。
先ほどのザックリ計算をすると、10回折ると厚さが千倍に、20回折ると百万倍になります。
あれっ、もう(1)に近くなっちゃいました。あともう1回折ると200万倍、さらにもう1回折ると400万倍、
次にもう1回折ると800万倍。はい、東京スカイツリーを超えました。
というわけで、答えは「23 回」です。
ちなみに、23回折ると紙の面積は23分の1になります。元の紙が1m四方だとすると、23回折った後は1辺の長さが1mm以下になります。折れるものなら折ってみてください。現実には5~6回折るのが限度でしょうけれど。
《答2》 1B=8ビットで、$${2^8}$$=256人の人を区別できる。
2B=16ビットで、$${2^{16}}$$=64千=6万4千人を区別できる。
3B=24ビットで、$${2^{24}}$$=16百万=1600万人を区別できる。 … まだ世界人口には程遠い。
4B=32ビットで、$${2^{32}}$$=4十億 =40億人を区別できる。 … 世界人口に近づいてきました。
5B=40ビットで、$${2^{40}}$$=1兆人を区別できる。 … あっという間に世界人口を超えました。
というわけで、答えは「5 バイト」です。
ちなみに、1バイトとは英字1文字分の容量ですから、「omori」の5文字でもう5バイトです。それと同じ容量で,世界中の人を区別できるということです。今後さらに世界人口が増えても、たぶんこれで十分でしょう。きっと1兆人は地球上に住めないでしょうから。
《答3》 「1個入れて10分でいっぱい」なら「2個入れれば…5分?」と思ったのではないですか?
でも残念ながら,それは間違いです。「後者は前者に比べて、1秒先行している」わけです。
ですから「後者で容器がいっぱいになるのは、前者より1秒早い」ことになります。
というわけで、答えは「9 分 59 秒」です。
この増え方は、関数でいうと指数関数 y = $${2^x}$$ です。俗に言う「ねずみ算」と同じで、時間がたてばたつほど急激に増えていきます。その感覚がつかめているでしょうか。容器がいっぱいになってからあと1分放置するととんでもないことになりますから、10秒以内に始末してくださいね。
《答4》 64(=$${2^6}$$)種類の文字を6個並べるときの異なる場合の数は $${(2^6)^6}$$=$${2^{36}}$$ 通り。
次にザックリ計算して $${2^{36}}$$ = 64十億 = 640億 通り。1年=3200万秒の間に3200万回入力すると、
全通りを試みるのに 640億 通り÷3200万 通り/年 =「2000 年」かかります。
つまり、辞書式攻撃でパスワードを破ることは、現実には不可能だということです。もちろん名前や誕生日など想像されやすい文字列はその限りではありませんが、ランダムな文字列であれば6文字で十分だと言えるでしょう。
デジタルってすごいですね。余談ですが、今から「$${2^{59}}$$ 秒前」に何が起きたか、知っていますか?
実は、宇宙が誕生したんです。137億年を秒に直して、2の何乗の形にしてみたら、こうなりました。でも、このように書くと、宇宙ができたのって、ついこの前のような気がしてくるから不思議です。
◇ ◇ ◇
〜 2のn乗のザックリ計算 〜
▷ 公式編
▷ 問題演習編
▷ フルカラーの色数
この記事が気に入ったらサポートをしてみませんか?