松下昇への接近

 旧 湾曲していく日常

数字を色に換えて数える

エクセルVBAでもう一度やってみた。

マクロ1.
7桁の数字、5040個を 1字ずつ7つに分断する。
マクロ2.
一つ目と三つ目(以下二つ目と四つ目…)を 足し、偶数(偶数+偶数あるいは奇数

  1. 奇数、つまり同色)(勝ち)か奇数か(異色)の結果を各5個を横のセルに書き込

む。偶数=0 奇数=1
マクロ3. 偶数=ー1、奇数=0に変換し、(ー2)の(5−i)乗を掛け、2で
割るる。(iは1から順に増やす)。+−+−+の順になる(プラスはAのマイナ
スはBの勝ちを表す)。結果5個をさらに横のセルに書き込む。
マクロ4. 上記5つの数字を足す。
マクロ5. 結果が、プラス、0、マイナスのものを数える。それぞれ、Aの勝
ち、引き分け、Bの勝ち に対応。

泥臭いやり方ですがこのようにすると、数えることはできます。

マクロ2

Sub katu2()
宣言部省略
For Each c In Range("b3:b5042")

For j = 1 To 5 '---文字数分だけ繰り返し

If (Cells(c.Row, j + 1).Value + Cells(c.Row, j + 3).Value) Mod 2 = 0 Then
Cells(c.Row, j + 9) = ((Cells(c.Row, j + 1).Value + Cells(c.Row, j + 3).Value) Mod 2) - 1
End If

Next j
Next c
End Sub

マクロ3+マクロ4

Sub katu3()
宣言部省略
For Each c In Range("j3:j5042")
kk = 0
Sum = 0
For j = 0 To 4
kk = (((-2) ^ (4 - j)) * (Cells(c.Row, (c.Column + j)).Value)) * (-1)
Cells(c.Row, j + 16) = kk
Sum = Sum + kk
Next j
Cells(c.Row, 21) = Sum
Next c
End Sub


マクロ5の代わりに、エクセルらしくピボットテーブルを使ってみる。
−9から20までの26個の整数(ないのは−6、7、13、19)がそれぞれ、144か288の個数があります。後者は−8、−4、−2、0、2、4、9、15、17ですね。
合計11:2:22 です。