平成22年度 秋期 基本情報技術者試験 午前 問7
テクノロジ/アルゴリズム5けたの数a1 a2 a3 a4 a5を,ハッシュ法を用いて配列に格納したい。ハッシュ関数をmod(a1+a2+a3+a4+a5,13)とし,求めたハッシュ値に対応する位置の配列要素に格納する場合,54321は次の配列のどの位置に入るか。ここで,mod(x,13)の値は,xを13で割った余りとする。配列は位置0から12までの要素をもつ。
出典:平成22年度 秋期 基本情報技術者試験 午前 問7
- ア1
- イ2
- ウ7
- エ11
正解:イ
解説
ハッシュ関数はmod(a1+a2+a3+a4+a5,13)なので,54321の各桁5,4,3,2,1を合計すると15になります。15を13で割った余りは2なので,位置2に格納されます。
選択肢ごとの解説
- ア誤り。1は,各桁の合計を誤って計算した場合などに得られる値です。
- イ正しい。各桁の合計15を13で割った余りは2です。
- ウ誤り。7は,各桁の合計を求める際の計算を誤った場合の値です。
- エ誤り。11は,13から2を引いた値であり,剰余の向きを取り違えた場合に得られる値です。