- Offizieller Beitrag
Naja, um ein ehrliches Ergebnis zu bekommen, müßte man Dein Script etwas ändern:
[autoit]
Global $sString = "|", $iSol = 415335, $iCount
While 1
$iRand = Random(0, 999999, 1)
$iCount += 1
If Not StringInStr($sString, "|" & $iRand & "|") Then
$sString = $iRand & "|"
EndIf
If $iRand = $iSol Then ExitLoop
WEnd
MsgBox(0, "", "Er braucht: " & $iCount & " Versuche")
[/autoit]
Denn das Script schließt eben nicht die Doppelten aus, sondern vergleicht nur, ob die Zahl schon ausgewählt wurde.
Der Nachteil bei meinem Script ist die lange Initialisierungzeit für das Array. Wenn man das allerdings öfter braucht, dann kann man mit einer Kopie davon arbeiten und dann ist es wieder wesentlich schneller.