Per comodità, ti riporto lo script che ho postato qualche giorno fà.
E' solo un esempio e i numeri sono del tutto casuali. Come sono del tutto personali il numero dei gruppi e i numeri che vogliamo mettere nei gruppi, io ho indicato quelli che per il momento mi ispirano ma posso cambiarli e ognuno può scegliere i numeri e la quantità di gruppi che vuole a proprio piacimento.
Tu dici "e nel caso una terzine dovesse avere al suo interno 2 numeri ?"
Ogni terzina deve avere da zero a un numero per gruppo. Forse intendevi dire se nell' estrazione escono 2 numeri dello stesso gruppo? In tal caso non si fanno tre ambi ma due.
Ad esempio, prendiamo i risultati di questo script. Poniamo che nella ruota giocata escono questi numeri :12,37,70, è saltata in parte la condizione perchè abbiamo 12,37 che sono separati e che invece sono usciti insieme, ma la condizione è saltata intaccando un solo ambo, ne sono usciti due invece di tre: il 12.70 e il 37.70.
Ovvio che se escono 12,37,45 non si fa nulla.
I gruppi sono 4:
12,37,45
53,60
67,70
72,84
Questo è l' output dello script sottostante.
12.53.67
12.53.70
12.53.72
12.53.84
12.60.67
12.60.70
12.60.72
12.60.84
12.67.72
12.67.84
12.70.72
12.70.84
37.53.67
37.53.70
37.53.72
37.53.84
37.60.67
37.60.70
37.60.72
37.60.84
37.67.72
37.67.84
37.70.72
37.70.84
45.53.67
45.53.70
45.53.72
45.53.84
45.60.67
45.60.70
45.60.72
45.60.84
45.67.72
45.67.84
45.70.72
45.70.84
53.67.72
53.67.84
53.70.72
53.70.84
60.67.72
60.67.84
60.70.72
60.70.84
In conclusione, lo script mi fa quello che chiedo, mi sviluppa le combinazioni così come le ho divise.
Io però vorrei che gli ambi non si ripetessero. Quindi, considero quelli in grassetto (e quelli in rosso se si vuole per copertura completa del condizionamento) e tutti gli altri li scarto (l' evidenziazione è stata fatta manualmente).
Siamo arrivati a 9 formazioni.
Un sistema 9-3-2-2 ( 9 numeri,formazione terzine, garanzia 2 su 2 indovinati) è fatto di 12 formazioni.
E' tutto qua, è da vedere se rende o meno.
Codice:
Sub main()
Dim terni(3)
numeri=Array(12,37,45,53,60,67,70,72,84)
num1=Array(12,37,45)
num2=Array(53,60,"")
num3=Array(67,70,"")
num4=Array(72,84,"")
x=UBound(numeri)
y=UBound(num1)
For i= 0 To x
terni(1)=numeri(i)
For j= i+1 To x
terni(2)=numeri(j)
For k= j+1 To x
terni(3)=numeri(k)
sp1=0:sp2=0:sp3=0:sp4=0
For n1= 1 To 3
For n2 = 0 To y
If terni(n1)=num1(n2) Then sp1=sp1+1
If terni(n1)=num2(n2) Then sp2=sp2+1
If terni(n1)=num3(n2) Then sp3=sp3+1
If terni(n1)=num4(n2) Then sp4=sp4+1
next:next
If sp1<2 And sp2<2 And sp3<2 And sp4<2 Then
Scrivi StringaNumeri (terni)
End If
Next
Next
Next
End Sub