問題にチャレンジして、ユーザー同士で解答を教え合ったり、コードを公開してみよう!
(はじめに)
この問題集では、ハッシュ関数について扱います。
ハッシュ関数とは、データ (入力) に対して特定の計算をおこない、特定の範囲に収まる値 (固定長の出力) を得る関数のことを指します。このとき、入力のことを キー
、出力のことを 値・ハッシュ値・ダイジェスト値
などと呼びます。
ハッシュ関数は、以下の性質を持っていることが期待されます。
・ 同じ入力に対して、常に同じ出力を返す
・ 出力から入力を推測することが難しい
・ 出力が一様に分布している (出力値に偏りがない)
H(x) = x % mod
n mod
x_1
x_2
...
x_n
n 行出力してください。i (1 ≦ i ≦ n) 行目には、x_i のハッシュ値 H(x_i) を出力してください。
また、末尾に改行を入れ、余計な文字、空行を含んではいけません。
H(x_1)
H(x_2)
...
H(x_n)
すべてのテストケースにおいて、以下の条件をみたします。
・ 入力値はすべて整数
・ 1 ≦ n ≦ 100
・ 2 ≦ mod ≦ 10,000
・ 1 ≦ x_i ≦ 10,000 (1 ≦ i ≦ n)
5 7
3
9
12
15
17
3
2
5
1
3