|
??? |
|
Sub Macro1()
Cells(1, 1).Value = 0 For a11 = 0 To 1 For a12 = 0 To 1 For a21 = m(a11, a12, 0) To m(a11, a12, 1) a22 = r(a11, a12, a21) For a13 = m(a12, a22, 0) To m(a12, a22, 1) a23 = r(a12, a13, a22) For a14 = m(a13, a23, 0) To m(a13, a23, 1) a24 = r(a13, a14, a23) For a15 = m(a14, a24, 0) To m(a14, a24, 1) a25 = r(a14, a15, a24) For a31 = m(a21, a22, 0) To m(a21, a22, 1) a32 = r(a21, a22, a31) If d(a22, a23, a32) Then a33 = r(a22, a23, a32) If d(a23, a24, a33) Then a34 = r(a23, a24, a33) If d(a24, a25, a34) Then a35 = r(a24, a25, a34) For a41 = m(a31, a32, 0) To m(a31, a32, 1) a42 = r(a31, a32, a41) If d(a32, a33, a42) Then a43 = r(a32, a33, a42) If d(a33, a34, a43) Then a44 = r(a33, a34, a43) If d(a34, a35, a44) Then a45 = r(a34, a35, a44) For a51 = m(a41, a42, 0) To m(a41, a42, 1) a52 = r(a41, a42, a51) If d(a42, a43, a52) Then a53 = r(a42, a43, a52) If d(a43, a44, a53) Then a54 = r(a43, a44, a53) Cells(1, 1).Value = Cells(1, 1).Value + d(a44, a45, a54) End If End If Next a51 End If End If End If Next a41 End If End If End If Next a31 Next a15 Next a14 Next a13 Next a21 Next a12 Next a11 End Sub Private Function m(x, y, n) If x + y = 0 Then m = 1 ElseIf x + y = 2 Then m = 0 Else m = n End If End Function Private Function r(x, y, z) r = 0 + 0 + 1 + 1 - x - y - z End Function Private Function d(x, y, z) d = -(x + y + z = 1 Or x + y + z = 2) End Function |
|
9月17日(木) 12:13:57
43716 |