IPA過去問ドリル

平成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

正解:イ

解説

ハッシュ関数は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を引いた値であり,剰余の向きを取り違えた場合に得られる値です。
基本情報技術者の過去問を演習モードで解く