有名なパズルで、4種類の分銅があり、1〜40kgまでkg 単位で連続して天秤を用いて測定
出来るためにはどうすればよいか?
これに対し、1、3、9、27kg の4個の分銅を準備しておき、
1=1
2=3-1
3=3
4=3+1
5=9-3-1
・・・
38=27+9-1
39=27+9+3
40=27+9+3+1
と、左右に載せる分銅を巧みに使い分けると、それが可能になるというものである。
この載せ方は、3進法と深く関わりそうだと思えるんだが、すぐにはどうのせたらいいのか
が判然としなかった。
そこで、このパズルを1、3、9、27、81、243kg の6個を準備し、ちょうど1年(0の測定を入
れると365パターン作れる。)に相当して面白かったので、表を作ってみました。
表は、[243,81,27,9,3,1] の分銅の使い方に相当します。
*勘違い、計算ミス、論理的間違いが起こってないか心配ですが・・・
1:[0, 0, 0, 0, 0, 1] 101:[0, 1, 1, -1, 1, -1]201:[1, -1, 1, 1, 1,
0] 301:[1, 1, -1, 0, 1, 1]
2:[0, 0, 0, 0, 1, -1]102:[0, 1, 1, -1, 1, 0] 202:[1, -1, 1, 1, 1, 1] 302:[1, 1, -1, 1, -1, -1]
3:[0, 0, 0, 0, 1, 0] 103:[0, 1, 1, -1, 1, 1] 203:[1, 0, -1, -1, -1, -1]303:[1, 1, -1, 1, -1, 0]
4:[0, 0, 0, 0, 1, 1] 104:[0, 1, 1, 0, -1, -1]204:[1, 0, -1, -1, -1,
0]304:[1, 1, -1, 1, -1, 1]
5:[0, 0, 0, 1, -1, -1]105:[0, 1, 1, 0, -1, 0]205:[1, 0, -1, -1, -1,
1]305:[1, 1, -1, 1, 0, -1]
6:[0, 0, 0, 1, -1, 0]106:[0, 1, 1, 0, -1, 1] 206:[1, 0, -1, -1, 0,
-1]306:[1, 1, -1, 1, 0, 0]
7:[0, 0, 0, 1, -1, 1]107:[0, 1, 1, 0, 0, -1] 207:[1, 0, -1, -1, 0,
0] 307:[1, 1, -1, 1, 0, 1]
8:[0, 0, 0, 1, 0, -1]108:[0, 1, 1, 0, 0, 0] 208:[1, 0, -1, -1, 0,
1] 308:[1, 1, -1, 1, 1, -1]
9:[0, 0, 0, 1, 0, 0] 109:[0, 1, 1, 0, 0, 1] 209:[1, 0, -1, -1, 1, -1] 309:[1, 1, -1, 1, 1, 0]
10:[0, 0, 0, 1, 0, 1] 110:[0, 1, 1, 0, 1, -1]210:[1, 0, -1, -1, 1, 0] 310:[1,
1, -1, 1, 1, 1]
11:[0, 0, 0, 1, 1, -1]111:[0, 1, 1, 0, 1, 0] 211:[1, 0, -1, -1, 1, 1] 311:[1,
1, 0, -1, -1, -1]
12:[0, 0, 0, 1, 1, 0] 112:[0, 1, 1, 0, 1, 1] 212:[1, 0, -1, 0, -1, -1] 312:[1, 1, 0, -1, -1, 0]
13:[0, 0, 0, 1, 1, 1] 113:[0, 1, 1, 1, -1, -1]213:[1, 0, -1, 0, -1, 0]
313:[1, 1, 0, -1, -1, 1]
14:[0, 0, 1, -1, -1, -1]114:[0, 1, 1, 1, -1, 0]214:[1, 0, -1, 0, -1, 1]314:[1, 1, 0, -1, 0, -1]
15:[0, 0, 1, -1, -1, 0]115:[0, 1, 1, 1, -1, 1]215:[1, 0, -1, 0, 0, -1]
315:[1, 1, 0, -1, 0, 0]
16:[0, 0, 1, -1, -1, 1]116:[0, 1, 1, 1, 0, -1]216:[1, 0, -1, 0, 0, 0] 316:[1, 1, 0, -1, 0, 1]
17:[0, 0, 1, -1, 0, -1]117:[0, 1, 1, 1, 0, 0]217:[1, 0, -1, 0, 0, 1] 317:[1,
1, 0, -1, 1, -1]
18:[0, 0, 1, -1, 0, 0]118:[0, 1, 1, 1, 0, 1] 218:[1, 0, -1, 0, 1, -1] 318:[1,
1, 0, -1, 1, 0]
19:[0, 0, 1, -1, 0, 1]119:[0, 1, 1, 1, 1, -1]219:[1, 0, -1, 0, 1, 0] 319:[1, 1, 0, -1, 1, 1]
20:[0, 0, 1, -1, 1, -1]120:[0, 1, 1, 1, 1, 0]220:[1, 0, -1, 0, 1, 1] 320:[1,
1, 0, 0, -1, -1]
21:[0, 0, 1, -1, 1, 0] 121:[0, 1, 1, 1, 1, 1]221:[1, 0, -1, 1, -1, -1]
321:[1, 1, 0, 0, -1, 0]
22:[0, 0, 1, -1, 1, 1] 122:[1, -1, -1, -1, -1, -1]222:[1, 0, -1, 1, -1,
0]322:[1, 1, 0, 0, -1, 1]
23:[0, 0, 1, 0, -1, -1]123:[1, -1, -1, -1, -1, 0]223:[1, 0, -1, 1, -1, 1]323:[1, 1, 0, 0, 0, -1]
24:[0, 0, 1, 0, -1, 0] 124:[1, -1, -1, -1, -1, 1]224:[1, 0, -1, 1, 0, -1]324:[1, 1, 0, 0, 0, 0]
25:[0, 0, 1, 0, -1, 1] 125:[1, -1, -1, -1, 0, -1]225:[1, 0, -1, 1, 0, 0]325:[1,
1, 0, 0, 0, 1]
26:[0, 0, 1, 0, 0, -1] 126:[1, -1, -1, -1, 0, 0]226:[1, 0, -1, 1, 0, 1]326:[1,
1, 0, 0, 1, -1]
27:[0, 0, 1, 0, 0, 0] 127:[1, -1, -1, -1, 0, 1]227:[1, 0, -1, 1, 1, -1]327:[1, 1, 0, 0, 1, 0]
28:[0, 0, 1, 0, 0, 1] 128:[1, -1, -1, -1, 1, -1]228:[1, 0, -1, 1, 1, 0]328:[1,
1, 0, 0, 1, 1]
29:[0, 0, 1, 0, 1, -1]129:[1, -1, -1, -1, 1, 0]229:[1, 0, -1, 1, 1, 1]
329:[1, 1, 0, 1, -1, -1]
30:[0, 0, 1, 0, 1, 0] 130:[1, -1, -1, -1, 1, 1]230:[1, 0, 0, -1, -1, -1]330:[1,
1, 0, 1, -1, 0]
31:[0, 0, 1, 0, 1, 1] 131:[1, -1, -1, 0, -1, -1]231:[1, 0, 0, -1, -1, 0]331:[1,
1, 0, 1, -1, 1]
32:[0, 0, 1, 1, -1, -1]132:[1, -1, -1, 0, -1, 0]232:[1, 0, 0, -1, -1, 1]332:[1, 1, 0, 1, 0, -1]
33:[0, 0, 1, 1, -1, 0]133:[1, -1, -1, 0, -1, 1]233:[1, 0, 0, -1, 0, -1] 333:[1, 1, 0, 1, 0, 0]
34:[0, 0, 1, 1, -1, 1]134:[1, -1, -1, 0, 0, -1]234:[1, 0, 0, -1, 0, 0]
334:[1, 1, 0, 1, 0, 1]
35:[0, 0, 1, 1, 0, -1]135:[1, -1, -1, 0, 0, 0]235:[1, 0, 0, -1, 0, 1] 335:[1,
1, 0, 1, 1, -1]
36:[0, 0, 1, 1, 0, 0] 136:[1, -1, -1, 0, 0, 1]236:[1, 0, 0, -1, 1, -1] 336:[1, 1, 0, 1, 1, 0]
37:[0, 0, 1, 1, 0, 1] 137:[1, -1, -1, 0, 1, -1]237:[1, 0, 0, -1, 1, 0]
337:[1, 1, 0, 1, 1, 1]
38:[0, 0, 1, 1, 1, -1]138:[1, -1, -1, 0, 1, 0]238:[1, 0, 0, -1, 1, 1] 338:[1,
1, 1, -1, -1, -1]
39:[0, 0, 1, 1, 1, 0] 139:[1, -1, -1, 0, 1, 1]239:[1, 0, 0, 0, -1, -1] 339:[1, 1, 1, -1, -1, 0]
40:[0, 0, 1, 1, 1, 1] 140:[1, -1, -1, 1, -1, -1]240:[1, 0, 0, 0, -1, 0]340:[1,
1, 1, -1, -1, 1]
41:[0, 1, -1, -1, -1, -1]141:[1, -1, -1, 1, -1, 0]241:[1, 0, 0, 0, -1, 1]341:[1, 1, 1, -1, 0, -1]
42:[0, 1, -1, -1, -1, 0]142:[1, -1, -1, 1, -1, 1]242:[1, 0, 0, 0, 0, -1]342:[1, 1, 1, -1, 0, 0]
43:[0, 1, -1, -1, -1, 1]143:[1, -1, -1, 1, 0, -1]243:[1, 0, 0, 0, 0, 0]343:[1, 1, 1, -1, 0, 1]
44:[0, 1, -1, -1, 0, -1]144:[1, -1, -1, 1, 0, 0]244:[1, 0, 0, 0, 0, 1]
344:[1, 1, 1, -1, 1, -1]
45:[0, 1, -1, -1, 0, 0]145:[1, -1, -1, 1, 0, 1]245:[1, 0, 0, 0, 1, -1]
345:[1, 1, 1, -1, 1, 0]
46:[0, 1, -1, -1, 0, 1]146:[1, -1, -1, 1, 1, -1]246:[1, 0, 0, 0, 1, 0] 346:[1, 1, 1, -1, 1, 1]
47:[0, 1, -1, -1, 1, -1]147:[1, -1, -1, 1, 1, 0]247:[1, 0, 0, 0, 1, 1]
347:[1, 1, 1, 0, -1, -1]
48:[0, 1, -1, -1, 1, 0]148:[1, -1, -1, 1, 1, 1]248:[1, 0, 0, 1, -1, -1]348:[1, 1, 1, 0, -1, 0]
49:[0, 1, -1, -1, 1, 1]149:[1, -1, 0, -1, -1, -1]249:[1, 0, 0, 1, -1, 0]349:[1, 1, 1, 0, -1, 1]
50:[0, 1, -1, 0, -1, -1]150:[1, -1, 0, -1, -1, 0]250:[1, 0, 0, 1, -1, 1]350:[1, 1, 1, 0, 0, -1]
51:[0, 1, -1, 0, -1, 0]151:[1, -1, 0, -1, -1, 1]251:[1, 0, 0, 1, 0, -1]351:[1, 1, 1, 0, 0, 0]
52:[0, 1, -1, 0, -1, 1]152:[1, -1, 0, -1, 0, -1]252:[1, 0, 0, 1, 0, 0]
352:[1, 1, 1, 0, 0, 1]
53:[0, 1, -1, 0, 0, -1]153:[1, -1, 0, -1, 0, 0] 253:[1, 0, 0, 1, 0, 1] 353:[1, 1, 1, 0, 1, -1]
54:[0, 1, -1, 0, 0, 0] 154:[1, -1, 0, -1, 0, 1] 254:[1, 0, 0, 1, 1, -1]354:[1,
1, 1, 0, 1, 0]
55:[0, 1, -1, 0, 0, 1] 155:[1, -1, 0, -1, 1, -1]255:[1, 0, 0, 1, 1, 0]
355:[1, 1, 1, 0, 1, 1]
56:[0, 1, -1, 0, 1, -1]156:[1, -1, 0, -1, 1, 0] 256:[1, 0, 0, 1, 1, 1]
356:[1, 1, 1, 1, -1, -1]
57:[0, 1, -1, 0, 1, 0] 157:[1, -1, 0, -1, 1, 1] 257:[1, 0, 1, -1, -1, -1]357:[1,
1, 1, 1, -1, 0]
58:[0, 1, -1, 0, 1, 1] 158:[1, -1, 0, 0, -1, -1]258:[1, 0, 1, -1, -1, 0]358:[1,
1, 1, 1, -1, 1]
59:[0, 1, -1, 1, -1, -1]159:[1, -1, 0, 0, -1, 0]259:[1, 0, 1, -1, -1, 1]359:[1, 1, 1, 1, 0, -1]
60:[0, 1, -1, 1, -1, 0]160:[1, -1, 0, 0, -1, 1] 260:[1, 0, 1, -1, 0, -1]360:[1,
1, 1, 1, 0, 0]
61:[0, 1, -1, 1, -1, 1]161:[1, -1, 0, 0, 0, -1] 261:[1, 0, 1, -1, 0, 0]361:[1, 1, 1, 1, 0, 1]
62:[0, 1, -1, 1, 0, -1]162:[1, -1, 0, 0, 0, 0] 262:[1, 0, 1, -1, 0, 1] 362:[1, 1, 1, 1, 1, -1]
63:[0, 1, -1, 1, 0, 0] 163:[1, -1, 0, 0, 0, 1] 263:[1, 0, 1, -1, 1, -1]363:[1,
1, 1, 1, 1, 0]
64:[0, 1, -1, 1, 0, 1] 164:[1, -1, 0, 0, 1, -1]264:[1, 0, 1, -1, 1, 0]
364:[1, 1, 1, 1, 1, 1]
65:[0, 1, -1, 1, 1, -1]165:[1, -1, 0, 0, 1, 0] 265:[1, 0, 1, -1, 1, 1]
66:[0, 1, -1, 1, 1, 0] 166:[1, -1, 0, 0, 1, 1] 266:[1, 0, 1, 0, -1, -1]
67:[0, 1, -1, 1, 1, 1] 167:[1, -1, 0, 1, -1, -1]267:[1, 0, 1, 0, -1, 0]
68:[0, 1, 0, -1, -1, -1]168:[1, -1, 0, 1, -1, 0]268:[1, 0, 1, 0, -1, 1]
69:[0, 1, 0, -1, -1, 0]169:[1, -1, 0, 1, -1, 1] 269:[1, 0, 1, 0, 0, -1]
70:[0, 1, 0, -1, -1, 1]170:[1, -1, 0, 1, 0, -1] 270:[1, 0, 1, 0, 0, 0]
71:[0, 1, 0, -1, 0, -1]171:[1, -1, 0, 1, 0, 0] 271:[1, 0, 1, 0, 0, 1]
72:[0, 1, 0, -1, 0, 0]172:[1, -1, 0, 1, 0, 1] 272:[1, 0, 1, 0, 1, -1]
73:[0, 1, 0, -1, 0, 1]173:[1, -1, 0, 1, 1, -1]273:[1, 0, 1, 0, 1, 0]
74:[0, 1, 0, -1, 1, -1]174:[1, -1, 0, 1, 1, 0]274:[1, 0, 1, 0, 1, 1]
75:[0, 1, 0, -1, 1, 0]175:[1, -1, 0, 1, 1, 1] 275:[1, 0, 1, 1, -1, -1]
76:[0, 1, 0, -1, 1, 1]176:[1, -1, 1, -1, -1, -1]276:[1, 0, 1, 1, -1, 0]
77:[0, 1, 0, 0, -1, -1]177:[1, -1, 1, -1, -1, 0]277:[1, 0, 1, 1, -1, 1]
78:[0, 1, 0, 0, -1, 0]178:[1, -1, 1, -1, -1, 1]278:[1, 0, 1, 1, 0, -1]
79:[0, 1, 0, 0, -1, 1]179:[1, -1, 1, -1, 0, -1]279:[1, 0, 1, 1, 0, 0]
80:[0, 1, 0, 0, 0, -1]180:[1, -1, 1, -1, 0, 0]280:[1, 0, 1, 1, 0, 1]
81:[0, 1, 0, 0, 0, 0] 181:[1, -1, 1, -1, 0, 1]281:[1, 0, 1, 1, 1, -1]
82:[0, 1, 0, 0, 0, 1] 182:[1, -1, 1, -1, 1, -1]282:[1, 0, 1, 1, 1, 0]
83:[0, 1, 0, 0, 1, -1]183:[1, -1, 1, -1, 1, 0]283:[1, 0, 1, 1, 1, 1]
84:[0, 1, 0, 0, 1, 0] 184:[1, -1, 1, -1, 1, 1]284:[1, 1, -1, -1, -1, -1]
85:[0, 1, 0, 0, 1, 1] 185:[1, -1, 1, 0, -1, -1]285:[1, 1, -1, -1, -1, 0]
86:[0, 1, 0, 1, -1, -1]186:[1, -1, 1, 0, -1, 0]286:[1, 1, -1, -1, -1, 1]
87:[0, 1, 0, 1, -1, 0]187:[1, -1, 1, 0, -1, 1]287:[1, 1, -1, -1, 0, -1]
88:[0, 1, 0, 1, -1, 1]188:[1, -1, 1, 0, 0, -1]288:[1, 1, -1, -1, 0, 0]
89:[0, 1, 0, 1, 0, -1]189:[1, -1, 1, 0, 0, 0] 289:[1, 1, -1, -1, 0, 1]
90:[0, 1, 0, 1, 0, 0]190:[1, -1, 1, 0, 0, 1] 290:[1, 1, -1, -1, 1, -1]
91:[0, 1, 0, 1, 0, 1]191:[1, -1, 1, 0, 1, -1] 291:[1, 1, -1, -1, 1, 0]
92:[0, 1, 0, 1, 1, -1]192:[1, -1, 1, 0, 1, 0] 292:[1, 1, -1, -1, 1, 1]
93:[0, 1, 0, 1, 1, 0] 193:[1, -1, 1, 0, 1, 1] 293:[1, 1, -1, 0, -1, -1]
94:[0, 1, 0, 1, 1, 1] 194:[1, -1, 1, 1, -1, -1]294:[1, 1, -1, 0, -1, 0]
95:[0, 1, 1, -1, -1, -1]195:[1, -1, 1, 1, -1, 0]295:[1, 1, -1, 0, -1, 1]
96:[0, 1, 1, -1, -1, 0]196:[1, -1, 1, 1, -1, 1]296:[1, 1, -1, 0, 0, -1]
97:[0, 1, 1, -1, -1, 1]197:[1, -1, 1, 1, 0, -1]297:[1, 1, -1, 0, 0, 0]
98:[0, 1, 1, -1, 0, -1]198:[1, -1, 1, 1, 0, 0] 298:[1, 1, -1, 0, 0, 1]
99:[0, 1, 1, -1, 0, 0] 199:[1, -1, 1, 1, 0, 1] 299:[1, 1, -1, 0, 1, -1]
100:[0, 1, 1, -1, 0, 1]200:[1, -1, 1, 1, 1, -1]300:[1, 1, -1, 0, 1, 0]
DD++さんからのコメントです。(令和3年3月4日付け)
この載せ方は3進法と深く関わりそう
Wikipedia の「三進法」の記事の、平衡三進法のところで触れられていますね。
GAIさんからのコメントです。(令和3年3月5日付け)
DD++さんから教えてもらったサイトからさらにリンクを辿り、「広義の記数法」を読んでいた
ら、何と虚数 K=2*i を基数とする
・・・an*K^n+an-1*K^(n-1)+・・・+a2*K^2+a1*K+a0+a-1*K^(-1)+a-2*K^(-2)+・・・
を、
[・・・anan-1・・・a2a1a0.a-1a-2・・・](2i)
で表して、「四虚進数」(quater-imaginary)と呼ぶとある。なお、ai は、0、1、2、3の4種類で、
これがすべての複素数を表現できるという。
例えば、 [1 3](2i)=1*(2i)+3=3 + 2i
[1 1 3 3 2 1](2i)=1*(2i)^5+1*(2i)^4+3*(2i)^3+3*(2i)^2+2*(2i)+1
=1*(32i) +1*(16)+3*(-8i)+3*(-4)+4i +1 = 5 + 12i
など。
これで定義しておくと、複素数の計算が、この4個の数字の取り扱いだけで構成できること
になる。
例えば、 A=-1+4i 、B=3+2i で、A*Bの計算なら、通常
(-1+4i)*(3+2i)=-3-2i+12i+8*i^2=-3+10i-8=-11+10i
ここに、 A=[1 2 3](2i) 、B=[1 3](2i) なので、係数に相当するものでの
1 2 3
× 1 3
を計算させることを考える。(ただし、使える数は、0、1、2、3 のみとする。)
通常なら、
1 2 3
× 3
--------
3 6 9
であるが、9を4で割った商と余りがそれぞれ 2と1 なので、余りの 1 を 9 の代わりに使い、
商の2を2つ隣の位から引くと、 (3-2)
1 6 1
同じく、6を4で割った商と余りは、1、2より、6は2へ、商の1は2つ隣の位から引くと、
(0-1)=-1から、
-1 1 2 1
マイナスの数値になると、2つ隣の位から4を降ろし、4-1=3へ変更し、2つ隣の位には1加
えると、
1 0 3 1 2 1
なる数字での並びとなる。(確かに0〜3で構成される)
従って、元に戻って、
1 2 3
× 1 3
-----------
1 0 3 1 2 1
+ 1 2 3
----------
1 0 4 3 5 1
この中の5が条件に反するので先のルールで、5を4で割った商が1で余り1より、
1 0 3 3 1 1
へ変更する。これより、
[1 0 3 3 1 1](2i)=1*(2i)^5+3*(2i)^3+3*(2i)^2+1*(2i)+1
=32i -24i -12 +12i +1
=-11 + 10i
これで実数部と虚数部が同時に四虚進数の係数で処理されることがわかる。勿論慣れの
こともあるが、プログラム的には四虚進数でも十分計算をすすめられる手段も有効であると
言えそうです。
さらに、
[a2na2n-1・・・a2a1a0](2i)=[a2na2n-2・・・a2a0](-4) + 2i*[a2n-1a2n-2・・・a3a1](-4)
でもあるという。即ち、
[1 3 2 2 1 3 3 2 1](2i)
=1*(2i)^8+3*(2i)^7+2*(2i)^6+2*(2i)^5+1*(2i)^4+3*(2i)^3+3*(2i)^2+2*(2i)+1=133-340i
一方、
[1 2 1 3 1](-4)+2i*[3 2 3 2](-4)
=(-4)^4+2*(-4)^3+1*(-4)^2+3*(-4)+1+2i*{3*(-4)^3+2*(-4)^2+3*(-4)+2}
=133+2i*{-170} =133-340i
なお、これらの内容の小論分を当時17歳であったドナルド・エルビン・クヌース(TEX 開発
者で有名)が全米での高校の「天才科学者発掘」コンテストに応募したとある。
この様に、n進数という概念が複素数や負数まで拡張されていく様をみていると、数学って
本当に自由なんだなと感じる。