問題

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

ア 1
イ 2
ウ 7
エ 11

解説と解答

 ハッシュ法は、キーの値をもとに格納先のアドレスを算出し、そのアドレス位置にデータを格納する方法です。キーの値と格納先のアドレスを関連付ける関数をハッシュ関数といいます。この問題のハッシュ関数では、各桁を加算して13で割った余りを格納位置とします。

5 + 4 + 3 + 2 + 1 = 15
15 ÷ 13 = 1 余り 2

 つまり、54321は配列の2の位置に格納されます。正解はイです。

過去の同じ問題
・平成16年秋期 基本情報技術者試験 午前 問14

城田 比佐子
アイティ・アシスト インストラクタ
ITに関するコンサルティングや教育を実施するアイティ・アシストのインストラクタ。新入社員研修やプロマネ育成研修をはじめ,基本情報技術者試験,応用情報技術者試験,プロジェクトマネージャ試験などの試験対策研修の実績も豊富。著書に「3週間完全マスター 基本情報技術者 2011年版」、「3週間完全マスター 応用情報技術者 2011年版」などがある。