Option Explicit
Sub Main
''''''' variante e modifica B E P P I G N E L L O
Dim numericercati,n,i,fine,fineciclo,xl,s,finale,retrit,retritmax,r,ct,w,rmin,j,jk,ia,k,xt,AmbiRitardovalido,ritardoattuale,rminn,cz,v
Dim RetIncrRitMax,RetFre,Inizio,Iniz,Ini,pj,n2,rt,o,Primirit,nomi,pres,freq,f,piuruote,ritmin,ritardomax
Dim numeri(90),maxnumero(90),ruote(11),comb(9999,2),minim(90,90)
'''''input
finale = InputBox("Estrazione n.",,EstrazioneFin)
Do While numericercati = 0
numericercati = CInt(InputBox("Lunghetta di n.",,7))
If numericercati >= 12 Then
MsgBox("Max possibile Undicina ")
numericercati = 0
Else
Exit Do
End If
Loop
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'''''10 ruote
Dim t,ed
ReDim aruote(11)
nomi = ""
Do While t = 0
t = ScegliRuote(aruote)
If t >= 5 Then
MsgBox("Max possibile 4 Ruote ")
t = 0
Else
Exit Do
End If
Loop
If Int(aruote(1)) = 11 Then
aruote(1) = 11
nomi = NomeRuota(aruote(1))
Else
For ed = 1 To t
nomi = nomi & NomeRuota(aruote(ed)) & " : "
Next
End If
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Do While s = 0
s = CInt(InputBox("Sorte lunghetta ",,2))
If s > 0 Then
If s = 1 And numericercati > 5 Then
MsgBox("Max 5 numeri x sorte Estratto ")
s = 0
End If
If s = 1 And t > 4 Then
MsgBox("Max 3 Ruote x sorte Estratto ")
s = 0
End If
Else
Exit Do
End If
Loop
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
Scrivi t & " Ruote " & StringaNumeri(aruote," - ")
If Int(aruote(1)) = 11 Then
If s = 2 Then
rmin = "0.0.230.135.80.60.45.35.30.25.25.20.17.13"
Else
rmin = "0.0.200.140.75.65.45.40.38.35.24.23.20.16"
End If
ReDim maxmax(13)
Call SplitByChar(rmin,".",maxmax)
End If
If Int(aruote(1)) <> 11 Then
If s = 3 Then
If t > 0 And t < 5 Then
rmin = "0.0.0.150.150.90.90.90.90.90.90.70.70.70"
End If
End If
If s = 2 Then
If t > 0 And t < 5 Then
rmin = "0.0.550.300.200.150.140.130.70.60.50.50.25.15"
End If
End If
If s = 1 Then
If t > 0 And t <= 4 Then
rmin = "0.0.15.8.5.5.1.1.0.0.0.0.0.0"
End If
End If
ReDim maxmax(13)
Call SplitByChar(rmin,".",maxmax)
End If
Inizio = TimeValue(Time)
''''''''numeri
For i = 1 To numericercati
maxnumero(i) = 90 + i - numericercati
Next
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
''''
ReDim nr(3) 'memorizza il ritardo minimo dei 4005 ambi sulle ruote individuate
For ia = 1 To 89
For j =(ia + 1) To 90
nr(1) = ia : nr(2) = j
minim(ia,j) = RitardoCombinazioneTurbo(aruote,nr,2,finale,,,3950)
xt = xt + 1
Messaggio(xt & " - " & numericercati)
Next
Next
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
n = 1
numeri(n) = 1
'inizia la ricerca dei numeri
Do
fine = 1
n = n + 1
numeri(n) = numeri(n - 1) + 1
xl = xl + 1
Messaggio("Attendere,Fino a 11 numeri (tempi 1 minuti circa, oltre durata 'n ore').." & xl)
' Call AvanzamentoElab(1,99,xl)
If ScriptInterrotto Then Exit Do
Do
If ScriptInterrotto Then Exit Do
If numeri(n) > maxnumero(n) Then
Do
n = n - 1
If n = 0 Then
fine = 0
Exit Do
End If
numeri(n) = numeri(n) + 1
If ScriptInterrotto Then Exit Do
Loop Until numeri(n) <= maxnumero(n)
'''''
End If
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
''''' per la sorte delL'AMBO valorizza ritardo ed esclude lunghetta se il ritardo minore del minimo
If n > 1 Then
fineciclo = 1
AmbiRitardovalido = 0
For jk = 1 To(n - 1)
ritardoattuale = minim(numeri(jk),numeri(n))
If Int(ritardoattuale) < Int(maxmax(numericercati)) Then
Exit For
Else
AmbiRitardovalido = AmbiRitardovalido + 1
End If
Next
If AmbiRitardovalido =(n - 1) Then
If n = numericercati Then
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
''''''trova per i 2 capogiochi i primi ambi ritardatari
If s = 2 And numericercati = 2 Then
Iniz = EstrazioneIni
Ini = finale
Primirit = " | "
For pj = 1 To 2
ReDim rita(90,2)
For n2 = 1 To 90
If Int(numeri(pj)) <> Int(n2) Then
nr(1) = numeri(pj) : nr(2) = n2
rt = RitardoCombinazioneTurbo(aruote,nr,s,finale,,,3950)
rita(n2,1) = FormattaStringa(rt,"0000")
rita(n2,2) = n2
End If
Next
Call OrdinaMatrice(rita,- 1,1)
For o = 1 To 6
If rita(o,1) <> "" Then
Primirit = Primirit & rita(o,1) & "-"
End If
Next
Primirit = Primirit & " |"
Next
End If
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'''''calcola ritardo lunghetta
Call StatisticaFormazioneTurbo(numeri,aruote,1,ritmin,ritardomax,,,3950,finale)
retrit = RitardoCombinazioneTurbo(aruote,numeri,s,finale,,,3950)
If retrit > Int(maxmax(numericercati)) Then
cz = cz + 1
comb(retrit,1) = FormattaStringa(retrit,"0000") & "...... ...." & FormattaStringa(ritmin,"000") & " / " & FormattaStringa(ritardomax,"000") & "..........." & StringaNumeri(numeri,".")
comb(retrit,2) = retrit
End If
numeri(n) = numeri(n) + 1
Else
fineciclo = 0
End If
Else
numeri(n) = numeri(n) + 1
fineciclo = 1
End If
Else
fineciclo = 0
End If
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
If fine = 0 Then Exit Do End If
Loop Until fineciclo = 0
Loop Until fine = 0
ColoreTesto(2)
Scrivi "Lunghette con ritardo minimo " & maxmax(numericercati) & " Sviluppate in classe = " & numericercati & " Per la sorte di.." & s,1
Scrivi "da rilevazione sulle Ruote .." & nomi & " " & finale & " / " & DataEstrazione(finale),1
ColoreTesto(1)
Scrivi "Nelle 10 ruote--unite dal 1945 ad oggi:"
Scrivi " 080 Estrazioni per 6 numeri. Registrato il 02/01/1971"
Scrivi " 103 Estrazioni per 5 numeri. Registrato il 02/01/1971"
Scrivi " 155 Estrazioni per 4 numeri. Registrato il 06/12/1969"
Scrivi " 288 Estrazioni per 3 numeri. Registrato il 14/12/2002"
Scrivi " 630 Estrazioni per 2 numeri. Registrato il 29/12/1984"
ColoreTesto(0)
If numericercati = 2 Then Scrivi "Ritardo Rmin Rmax Estratti Combinazione Lunghetta ",1
If numericercati <> 2 Then Scrivi "Ritardo Rmin Rmax Estratti Combinazione Lunghetta ",1
Call OrdinaMatrice(comb,- 1,2)
ColoreTesto(0)
If cz = 0 Then
Scrivi " NEssuna combinazione nel ritardo minimo di " & maxmax(numericercati),1
Else
For v = 1 To 30
Scrivi comb(v,1)
Next
End If
Scrivi:Scrivi:Scrivi "Totale Combinazioni...." & v - 1,1
ColoreTesto(2)
Scrivi "Tempo elaborazione.." & Inizio & " : " & TimeValue(Time),1
End Sub