問題
10進法で5桁の数 a₁a₂a₃a₄a₅ を、ハッシュ法を用いて配列に格納したい。ハッシュ関数を mod(a₁ + a₂ + a₃ + a₄ + a₅, 13) とし、求めたハッシュ値に対応する位置の配列要素に格納する場合、54321 は配列のどの位置に入るか。ここで、mod(x, 13) は、x を 13 で割った余りとする。

選択肢
- 11
- 22
- 37
- 411
正解
2. 2
詳しい解説を見る解説を閉じる
解説
このハッシュ関数は各桁の数字の合計を 13 で割った余りを求めるものです。54321 の各桁は 5、4、3、2、1 なので、その合計は 5 + 4 + 3 + 2 + 1 = 15 です。15 を 13 で割ると商 1・余り 2 となるので、mod(15, 13) = 2 です。したがって配列の位置 2 に格納され、イが正解です。数値そのものを 13 で割るのではなく、各桁の和を用いる点に注意します。(出典: 令和元年度 秋期 基本情報技術者試験 午前 問10)
一問一答
科目A 180問+科目B 60問