正解は イ
ハッシュ法の基本問題です。ハッシュ法とは、データの値から一定の計算(ハッシュ関数)で格納位置を求めて配列に格納する手法で、探索を高速化する代表的なテクニックです。本問のハッシュ関数は mod(a₁+a₂+a₃+a₄+a₅, 13)、すなわち「5桁の各桁の数字の和を13で割った余り」と定義されています。54321 の各桁は 5、4、3、2、1 なので、その和は 5+4+3+2+1 = 15 です。15 を13で割ると商1余り2なので、mod(15, 13) = 2 となり、54321 は配列の位置2に格納されます。イが正解です。ハッシュ問題で最も注意すべきは、ハッシュ関数の定義を正確に読み取ることです。本問では「数値全体を13で割る」のではなく「各桁の和を13で割る」と定義されている点がポイントで、ここを読み違えると 54321 mod 13 = 7(ウ)という誤答に誘導されます。異なるデータが同じハッシュ値になる「衝突(シノニム)」の概念も頻出なので、併せて理解しておきましょう。
ハッシュ問題は関数定義の読解がすべて。「桁の和を割る」のか「数値を割る」のかを最初に確認し、mod の計算は引き算(15−13=2)で検算する。