アルゴリズムとプログラミング
基本情報技術者試験 科目A免除 修了試験 20241208 実施分 問6
アルファベット 3 文字で構成されるキーがある。次の式によってハッシュ値 h を決めるとき,キー “SEP” と衝突するのはどれか。ここで,a mod b は,a を b で割った余りを表す。
h =(キーの各アルファベットの順位の総和)mod 27
アルファベットと順位の対応表(左右2つの表):
| アルファベット | 順位 |
|---|---|
| A | 1 |
| B | 2 |
| C | 3 |
| D | 4 |
| E | 5 |
| F | 6 |
| G | 7 |
| H | 8 |
| I | 9 |
| J | 10 |
| K | 11 |
| L | 12 |
| M | 13 |
| アルファベット | 順位 |
|---|---|
| N | 14 |
| O | 15 |
| P | 16 |
| Q | 17 |
| R | 18 |
| S | 19 |
| T | 20 |
| U | 21 |
| V | 22 |
| W | 23 |
| X | 24 |
| Y | 25 |
| Z | 26 |
答えを選ぶ
出典:基本情報技術者試験 科目A免除 修了試験 20241208 実施分 問6(問題文は IPA の公開問題。解説は当サイト作成)
解説に誤りを見つけたら、解説の誤りを報告してください。
答えと解説を見る
正解:イ
覚える知識
ハッシュ関数によるハッシュ値計算
異なるキーが同じハッシュ値になることを衝突(シノニム)という。
この問題で必要なこと
SEPは19+5+16=40で、mod 27は13。FEBは6+5+2=13で同じになり衝突する。
ひっかけ
APRは1+16+18=35でmod 27は8、JANは10+1+14=25、NOVは14+15+22=51でmod 27は24となり、いずれも13にならない。
この知識の出題:本試験系 5 回・免除試験 11 回(公開問題での観測値)。頻出知識ランキング71位(全1,254件中)。