Сколько можно получить перестановок трех символов? А четырёх, пяти? В книге можно посмотреть текст программы на VBA.Private Sub CommandButton1_Click() знаков = 3 наименьшее = 123 наибольшее = 321 Call Цикл End Sub Аналогично для остальных кнопок (расположить в List1)
Public знаков As Byte Public наименьшее As Long Public наибольшее As Long Public строка As Integer Public Sub Цикл() Dim число As Long Columns("A:A").Select Selection.ClearContents Range("A1").Select строка = 1 For число = наименьшее To наибольшее Call Проверка(число) Next число 'txt$= MsgBox "OK! Всего = " & строка - 1 End Sub Public Sub Проверка(число) Dim наличие(1 To 9) As Boolean Dim сравниваем As Byte Dim повторно As Boolean Dim число1 As Long For i% = 1 To знаков наличие(i%) = False Next i% повторно = False число1 = число For i% = 1 To знаков сравниваем = число1 Mod 10 If (сравниваем = 0) Or (сравниваем > знаков) Then повторно = True Exit For End If If наличие(сравниваем) = True Then повторно = True Exit For End If наличие(сравниваем) = True число1 = число1 \ 10 Next i% If повторно = False Then Cells(строка, 1).Value = число строка = строка + 1 End If
End Sub
|