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

ハッシュ値は各桁の和を除数で割った余りで求める

頻出基本情報技術者試験2022年度 公開問題 科目A7/アルゴリズムとプログラミング / 探索アルゴリズム

「位置」と「配列」の2列の図。位置は上から0,1,2,⋮(中略),11,12と示され、各位置に対応する配列要素の枠のみで、値は示されていない。
「位置」と「配列」の2列の図。位置は上から0,1,2,⋮(中略),11,12と示され、各位置に対応する配列要素の枠のみで、値は示されていない。

選択肢

正解と解説

正解: 2

ハッシュ関数は各桁の数字を足した合計を13で割った余りを返す。5桁の数の各桁を合計すると5+4+3+2+1で15になる。15を13で割ると商1・余り2なので、ハッシュ値は2となり、配列の位置2に格納される。

選択肢ごとの解説

出典:令和4年度 公開問題 基本情報技術者試験 科目A 問7(IPA)

同じ分野の他の問題

最終更新:2026-08-25/解説・選択肢ごとの解説は資格暗記が独自に作成しています。問題文と選択肢の出典は上記のとおりです。