вам нужно добавить элементы в этот массив. первый цикл дает вам внутренний доступ к переменной i, второй для j, но для ее заполнения я бы сначала предпочел рекурсивный способ:
создайте метод с переменными для вашего массива и индексом (какое место нужно заполнить следующим в массиве). Затем вызовите метод с новым массивом и индексом = 0
в методе 1. проверьте, находится ли индекс уже вне диапазона массива. в этом случае выведите массив и выйдите из метода
2. во всех остальных случаях добавьте цикл for от 0 до 30, а внутри добавьте текущий номер в местоположение 'index' и снова вызовите метод, предоставив свой массив и индекс + 1
но я бы сначала попробовал этот метод с меньшим количеством предметов. Может потребоваться некоторое время, чтобы распечатать все
Вот пример на языке vb.net. Вы не можете напрямую скопировать и вставить, но это может помочь понять, как создавать комбинации.
Private Sub AllCombinations(array() As Integer, index As Integer)
If index < 10 Then
For i As Integer = 0 To 30
array(index) = i
AllCombinations(array, index + 1)
Next
Else
PrintMethod(array.ToString)
End If
End Sub
Private Sub AllPermutations(array() As Integer, index As Integer, remaining As List(Of Integer))
If index < 10 Then
For Each ele In remaining
array(index) = ele
Dim newRemaining As New List(Of Integer)
newRemaining.AddRange(remaining)
newRemaining.Remove(ele)
AllPermutations(array, index + 1, newRemaining)
Next
Else
PrintMethod(array.ToString)
End If
End Sub
индекс 0..9 - это массив, если индекс равен 10, то массив заполнен, и мы его только покажем. Либо мы заполняем каждый слот любым числом от 0 до 30, либо вы сохраняете список, чтобы запомнить, какие номера еще остались (в перестановках сначала нужно заполнить оставшийся список всеми разрешенными числами!)