|
??? |
|
Option Explicit
Dim a(6) As Integer Sub Macro1() Sheets("Sheet1").Select Cells(1, 1).Value = 0 Range("A1").Select Call saiki(1) End Sub Sub saiki(ByVal n As Integer) Dim j As Integer a(n) = 1 While a(n) <= 6 If onaji(n) = 0 Then If n < 6 - 1 Then Call saiki(n + 1) Else a(6) = 6 For j = 1 To 6 - 1 a(6) = a(6) + j - a(j) Next j Call check(1) End If End If a(n) = a(n) + 1 Wend End Sub Sub check(ByVal x As Integer) Dim b(6) As Integer Dim dame As Integer Dim j As Integer For j = 1 To 6 b(j) = a(a(a(a(a(a(a(j))))))) Next j dame = 0 j = 1 While dame = 0 And j <= 6 If b(j) <> a(j) Then dame = 1 Else j = j + 1 End If Wend If dame = 0 Then Cells(1, 1).Value = Cells(1, 1).Value + 1 For j = 1 To 6 Cells(Cells(1, 1).Value, j + 1).Value = a(j) Next j End If End Sub Private Function onaji(ByVal n As Integer) As Integer Dim j As Integer onaji = 0 j = 1 While onaji = 0 And j < n If a(j) = a(n) Then onaji = 1 Else j = j + 1 End If Wend End Function |
|
12月18日(木) 12:49:11
33477 |