読者です 読者をやめる 読者になる 読者になる

応用情報技術者試験 2013年 春 午前 1問目 (受験してないですってww

コンピュータ 趣味

昨日に引き続きなのに1問目に戻るという荒業www

 

f:id:hos-b4:20130423203428p:plain

 

まず、高々って言葉に戸惑うけど、ちゃんと数学としての定義されてる言葉なんですね。

最大と読み替えても問題は無いと思う。

 

それじゃ、回答を考えてみよう。

n桁の正の整数Xと、m桁の正の整数Yとして
X×Yの桁数は(n+m)を超える事はありえない(そうだ)
これは10進数に限った事ではなく、2進数でも同じことがいえるのですって。

問題ではbはaの2乗なので、(n+n)となり、回答が『2n』となるそうだ。

 

例えば

aが8の場合、2進数では1000なので4ビットとなる。

bはaの2乗なので8×8で64で、2進数では1000000となり7ビットとなる。

なので、4ビット+4ビット=8ビット以内に収まっている事がわかる。

・・・・・・うーん、わかりづらいよねw

 

という訳で、
aが2進数でnビットの時にとりうる最大値が(高々)何ビット内であるかって考えてみる。

aが2ビットの場合:最大値は3なので 3の2乗=9 < 16 となり bは高々4ビット

aが3ビットの場合:最大値は7なので 7の2乗=49 < 64 となり bは高々6ビット

aが4ビットの場合:最大値は15なので 15の2乗で225 < 256 となりbは高々8ビット

5ビットの場合とか6ビットの場合とかも計算していくと必ずaのビット数の2倍以上にはならない事がわかる。

従ってbは高々2nビットとなるわけですね。

 

ちなみに、この問題は平成18年 秋 1問目に全く同じ内容で出題されてたみたいです(笑)