(ア)
この問題では仮数部と指数部に2のべき乗が登場するため、計算は分数で行うのが効率的なことに注意する。
よって
10011001
(イ)
最初から順番に比較していくと最大で約1000000回の比較
期待値は500000回
2分探索法とはデータが整列している場合に使える探索法である。
まず、真ん中に位置するデータと比べる。一致すればそれで終わりである。
小さければ目的のデータは前半にあり、大きければ後半にある。
これをデータが無くなるまで繰り返す。
要するに、1回探索するごとにデータの数が半分になるので
より最大20回になる。
100000回。
BBBとABCのハッシュ値は同一。
次は同じハッシュ値のものを地道に計算するしかない。
CCCは67×3=201
ADDは65+68×2=201
なのでCCCとADDは同じハッシュ値を持つ。
Aは65。
2進数で表すと1000001。
1ビット左にシフトすると10000010。
10進数に直すと130。
よってABは130+66=196。
2進数で表すと11000100。
1ビット左にシフトすると110001000。
10進数に直すと392。
よってABCは392+67=459。
Cは67。
2進数で表すと1000011。
1ビット左にシフトすると1000110。
10進数に直すと134。
よってCBは134+66=200。
2進数で表すと11001000。
1ビット左にシフトすると110010000。
10進数に直すと400。
よってCBAは400+65=465。
コメントを残す