カコモンノート

問7基本情報技術者 サンプル問題(科目A)

6 / 56問
サンプル問題(科目A)

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

この問題の図
問題に添えられた図。出典は下に書いています。

選択肢をえらぶと、答えと解説が出ます

選択肢をえらぶと、
ここに答えと解説が出ます
正答 2

解説

ハッシュ法では、格納する値から関数で位置を求め、その位置の配列要素に入れる。この問の関数は、十進法の五つの桁の数字を足し合わせ、その和を十三で割った余りを返す。与えられた数の各桁を足すと十五になり、十五を十三で割った余りは二なので、格納先は位置の二になる。余りは商でも割る数との差でもなく、そのまま位置を指す。

KEY POINT
ハッシュ法の格納位置は、ハッシュ関数が返す余りそのもので決まる
出典:基本情報技術者試験(科目A試験) サンプル問題セット(独立行政法人 情報処理推進機構(IPA))
独立行政法人情報処理推進機構(IPA)が公表している過去問題です。IPA の「過去問題の使用について」に基づき、IPA が指定する形で出典を明記して掲載しています(利用の許諾申請は不要)。問題文・選択肢の内容は変えていません。本文は IPA が公表した問題冊子の頁を人が読んで起こし、別の読み手が原本と突き合わせています。その都合で、改行・字間の空白は省き、英数字の全角・半角は元とそろえていない箇所があります。図表は IPA が公表した問題冊子のものです。解説は当サイトが独自に作成したもので、IPA とは関係ありません。