Quantcast
Channel: AutoIt v3 - General Help and Support
Viewing all articles
Browse latest Browse all 12506

random number generator

$
0
0
This is a very nice script thank you!
i just have one question? how does it Randomize without Repetition once
you shut the program down or does it?, I would like to add one column
and enable a right click option to select entire column for copy and
paste with mouse any tips on getting this fabulous program to create a
log and store to working directory?
I randomly thank you
[ autoit ]         
#include <Array.au3> Local $iNumbers Local $iDigits = 4 Local $t = TimerInit() For $n = 0 To 1000 _RandomEx($iNumbers, $iDigits); Randomize without Repetition Next ConsoleWrite('Timer:' & TimerDiff($t) & @CR) _ArrayDisplay($iNumbers, 'RandomEx | Phoenix XL [' & @ScriptName & ']') Func _RandomEx(ByRef $aNumbers, $nDigits = 5);Converted from Recursive to Iterative ;All the Possible Numbers have been added return -1 and set @error If UBound($aNumbers) >= ((10 ^ $nDigits) - 1) - (10 ^ ($nDigits - 1)) + 1 Then Return SetError(1, 0, -1) Local $vTemp, $nChk = 0 While 1 $vTemp = Random(10 ^ ($nDigits - 1), (10 ^ $nDigits) - 1, 1) _ArraySearch($aNumbers, $vTemp) If @error Or $nChk >= (10 ^ ($nDigits/2) ) - 1 Then ExitLoop $nChk += 1 WEnd If $nChk >= (10 ^ $nDigits) - 1 Then $vTemp = _ProbabilityCheck($aNumbers, $nDigits) Switch IsArray($aNumbers) Case 0 ;Make it an Array Local $n[1] = [$vTemp] $aNumbers = $n Case 1 _ArrayAdd($aNumbers, $vTemp) EndSwitch Return $vTemp EndFunc ;==>_RandomEx Func _ProbabilityCheck(ByRef $aNumbers, $nDigits) For $n = 10 ^ ($nDigits - 1) To (10 ^ $nDigits) - 1 _ArraySearch($aNumbers, $n) If @error Then _ArrayAdd($aNumbers,$n) Return $n; EndIf Next Return -1 EndFunc ;==>_ProbabilityCheck

Viewing all articles
Browse latest Browse all 12506

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>