投稿する

[1840] H20春 問12の別解

 るーしさん(No.1) 
暗算で導き出せる考え方です。

既出かもですが
下記の問題の解説では、
全ての16進数値を10進数に変換してますが
ハッシュ関数が8のため
16進数2桁目は本問題に限っては無視できると考えます(2桁目は8で必ず割り切れる)
例えば、
1Aの場合、A→10→mod(10,8)→2
35の場合、5→mod(5,8)→5
3Bの場合、B→11→mod(11,8)→3


Bに例えた場合
3Bも4Bも9Bも3となります。


1桁目を8で割るだけなので
時間もかからなくなります。
ーーー

16進数で表される9個のデータ1A,35,3B,54,8E,A1,AF,B2,B3を順にハッシュ表に入れる。ハッシュ値をハッシュ関数 f(データ)=mod(データ,8)で求めたとき,最初に衝突が起こるのはどのデータか。ここで,mod(a,b) はaをbで割った余りを表す。
2019.12.26 09:28
管理人(No.2) 
ご投稿ありがとうございます。とてもスマートなアイデアだと思います。
解説に別解として追記させていただきました。

  https://www.ap-siken.com/kakomon/20_haru/q12.html
2019.12.26 18:45
 るーしさん(No.3) 
管理人様

ありがとうございます。
また何か発見しましたらご連絡します。
2019.12.26 22:24

返信投稿用フォーム

スパム防止のためにスレッド作成日から30日経過したスレッドへの書込みはできません。
© 2010-2024 応用情報技術者試験ドットコム All Rights Reserved.

Pagetop