Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  

Показать сообщение отдельно

Аватара для Creat0R

Must AutoIt


Сообщения: 3054
Благодарности: 1009

Профиль | Сайт | Отправить PM | Цитировать


Вообщем задача не на скорую руку, вот пример используя функцию выше, у меня на P4 ушло около 30'ти секунд! на гинерацию всех(?) вариантов от 6 до 7, т.ч можете представить сколько уйдёт на 6-20:

Код: Выделить весь код
$sFile_Content = ""

$iMin_Number = 6
$iMax_Number = 20

$iVars_Count = 0

;Подсчитываем возможное число вариантов для значении 6 - 20.
For $i = $iMin_Number To $iMax_Number
    $iVars_Count += _NumberVarsCount($i)
    ConsoleWrite($iVars_Count & @CRLF)
Next

;Проходимся столько раз (сколько есть вариантов у 6-20) в цикле и получаем случайные строки содержащие от 6-ти до 20-ти символов.
For $i = 1 To $iVars_Count
    $sRandomString = _StringGetRandomString($iMin_Number, $iMax_Number)

    While StringInStr($sFile_Content, $sRandomString & @CRLF)
        $sRandomString = _StringGetRandomString($iMin_Number, $iMax_Number)
    WEnd

    $sFile_Content &= $sRandomString & @CRLF
Next

FileWrite("File.txt", $sFile_Content)

Func _StringGetRandomString($iMin=1, $iMax=1)
    If $iMax < $iMin Then Return SetError(1, 0, 0)

    Local $iRandom
    Local $sRet_Str = ''

    For $i = 1 To Random($iMin, $iMax, 1)
        $sRet_Str &= Chr(Random(33, 255, 1))
    Next

    Return $sRet_Str
EndFunc

Func _NumberVarsCount($Number)
    If Not IsNumber($Number) Then Return SetError(1, 0, $Number)
    If $Number > 65 Then Return SetError(2, 0, -1)

    Local $iCnt, $iNumber = 1

    For $iCnt = 1 To $Number-1
        $iNumber *= ($iCnt+1)
    Next

    Return SetError(0, 0, $iNumber)
EndFunc

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community


Отправлено: 02:11, 24-01-2009 | #7