Добрый день! Требуется помощь. Есть лото 7 из 34 (5 379 616 комбинаций) Также имеются простые числа (1, 2, 3, 5, 7, 11, 17, 19, 23, 29, 31)
Задача: Узнать количество комбинацый которые содержать 1 простое число,2 ,3 ,4 ,5 ,6 и 7 простых чисел и также если нет ни одного простого числа.
Файл excel со всеми комбинациями выложить немогу так как весит более 100мб. Есть макрос для всех комбинаций ))))
Код
Sub MyCombin()
Dim a&(), i&, j&, m&, n&, p&, nRows&, rws&, clm&, nCombin&
n = Val(InputBox("n =", , 10))
m = Val(InputBox("m =", , 3))
If n < m Or m < 1 Then Exit Sub
nRows = Rows.Count 'количество строк на листе
nCombin = WorksheetFunction.Combin(n, m) 'количество возможных сочетаний
ReDim a&(1 To m), b&(1 To IIf(nCombin > nRows, nRows, nCombin), 1 To m)
For i = 1 To m: a(i) = i: Next i
If m = n Then p = 1 Else p = m
Cells.ClearContents
Do
j = j + 1
For i = 1 To m: b(j, i) = a(i): Next i
If j = nRows Or j + rws = nCombin Then
[a1].Offset(, clm).Resize(UBound(b), m) = b
j = 0
clm = clm + m + 1
rws = rws + nRows
If rws < nCombin Then ReDim b&(1 To IIf(nCombin - rws > nRows, nRows, nCombin - rws), 1 To m)
End If
If a(m) = n Then p = p - 1 Else p = m
If p Then
For i = m To p Step -1
a(i) = a(p) + i - p + 1
Next i
End If
Loop While p
End Sub