5けたの a1a2a3a4a5 をハッシュ法を用いて配列に格納したい。ハッシュ関数を mod(a1+a2+a3+a4+a5,13) とし,求めたハッシュ値に対応する位置の配列要素に格納する場合、 54321 は次の配列のどの位置に入るか。ここで、mod(x,13) の値は x を 13 で割った余りとする。
ア 1 イ 2 ウ 7 エ 11
【解説】
ハッシュ法 とは、探索するデータのキー値からデータの格納アドレスを直接計算する方法です。
この計算の際に使われる関数を ハッシュ関数 といいます。
この問題のハッシュ関数は、各桁の数値をそれぞれ足し算をし、
さらに13で割った余りをもって配列要素の格納位置を定めます。
mod(a1+a2+a3+a4+a5、13)
なので、そのまま "54321" を当てはめると、
mod(5+4+3+2+1,13)=2
mod()は余りを求めるので、つまり
15÷13=1 余り2
と いうことになります。
したがってデータ "54321" は配列の 2番目 の位置に格納されることになります。
【解答】イ
[ この問題の出題歴 ]
基本情報技術者 平成16秋期 午前 問14
基本情報技術者 平成22秋期 午前 問7








