TarZの日記: 【話題騒然】n=2^aで、入力nに対応するaを求めるコード その2
(続き)
おー、なるほど! M系列にこんな応用があったなんて!
ということで、64ビット整数が扱えないとハッシュ計算できないけど、6ビットでの例。
000001111110101011001101110110100100111000101111001010001100001 (以降は最初から繰り返し)
このビット列について、6文字を切りだす作業を1文字目から順に行っていくと、以下の通りになる。
2つ目のパターンでsortしてみると、000001から111111まで、全てのパターンが出現していることが確認できる。さらにこれに000000を加えれば全て揃うことになる。なんと素晴らしい!
1 000001
2 000011
3 000111
4 001111
5 011111
6 111111
7 111110
8 111101
9 111010
10 110101
11 101010
12 010101
13 101011
14 010110
15 101100
16 011001
17 110011
18 100110
19 001101
20 011011
21 110111
22 101110
23 011101
24 111011
25 110110
26 101101
27 011010
28 110100
29 101001
30 010010
31 100100
32 001001
33 010011
34 100111
35 001110
36 011100
37 111000
38 110001
39 100010
40 000101
41 001011
42 010111
43 101111
44 011110
45 111100
46 111001
47 110010
48 100101
49 001010
50 010100
51 101000
52 010001
53 100011
54 000110
55 001100
56 011000
57 110000
58 100001
59 000010
60 000100
61 001000
62 010000
63 100000
【話題騒然】n=2^aで、入力nに対応するaを求めるコード その2 More ログイン