昨日に引き続きなのに1問目に戻るという荒業www
まず、高々って言葉に戸惑うけど、ちゃんと数学としての定義されてる言葉なんですね。
最大と読み替えても問題は無いと思う。
それじゃ、回答を考えてみよう。
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問目に全く同じ内容で出題されてたみたいです(笑)