ようへい

2017年9月12日火曜日

平成27年 秋期 応用情報技術者 午前 問5

キーが小文字のアルファベット1文字(a, b, ..., z のいずれか)であるデータを、大きさが10のハッシュ表に格納する。
ハッシュ関数として、アルファベットのASCIIコードを10進表記法で表した時の1の位の数を用いることにする。
衝突が起こるキーの組み合わせはどれか。
ASCIIコードでは、昇順に連続した2進数が、アルファベット順にコードとして割り当てられている。
  1. a と i
  2. b と r
  3. c と l
  4. d と x
解法
ASCII コードを覚えてないとダメな問題。
a は 0x61。10進に直すと、$16 \times 6 + 1 = 97$。
アルファベットは 26 文字なので、97 ~ 122。
この数値のうち、1の位を用いるということなので、1の位が 7、8、9、0 の値が重複の可能性がある。
i は $97 + 8$ なので被らない。
r は $98 + 16$ なので被らない。
l は $99 + 9$ なので被らない。
x は $100 + 20$ なので被る。
よって正解は
関連記事

0 件のコメント:

コメントを投稿