使用した除数(ハッシュ関数の母数)を求める問題です。ハッシュ値が衝突したということは、入力値(571, 1168, 1566)をそれぞれ除数で割ったときの余りが全て同じになったということです。つまり、これらの数はいずれも同じ除数で割ったときに同じ余りとなる合同数です。これを数学的に表現すると、571 ≡ 1168 (mod X) かつ 1168 ≡ 1566 (mod X) となります。合同数の性質から、差も同じ除数で割ったときの余りが0、すなわち割り切れるはずです。1168 - 571 = 597、1566 - 1168 = 398。したがって、使用された除数Xは、597と398の両方を割り切る数(公約数)でなければなりません。選択肢を順に確認すると、ア: 193は597を割り切りますが398を割り切りません。イ: 197はどちらも割り切りません。ウ: 199は597を割り切れません。エ: 211はどちらも割り切りません。これは問題文の前提と矛盾します。
読み込み中...