Имя пользователя:
Пароль:
 

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

Аватара для Fors1k

Старожил


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

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


Ну и совсем напоследок, абсолютный победитель нашего конкурса генераторов прямого перебора :
Код: Выделить весь код
param(
    $pathOut = 'C:\temp\test.txt',
    $Symbols = 'abcdefghij',
    $Length  = 6
)cls

function Get-Combinations($pathOut,$Symbols,$Length){$cmd=@"
using System;using System.IO;
public class Combiner{
    public static string Combinations(string[] sym, string writePath){
        using (StreamWriter fs=new StreamWriter(writePath, false, System.Text.Encoding.Default)){
            foreach (string i in sym){//do`nfs.WriteLine (i/*i*/);}//end
        }return "Done!";}}
"@;[string[]]$sym=$Symbols.ToCharArray()
for($i=1;$i -lt $Length;$i++){$cmd=$cmd -Replace '//do', "`nforeach (string i$i in sym){//do"
$cmd=$cmd -Replace '//end', "}//end";$cmd=$cmd.Replace('/*i*/', "+i$i/*i*/")
}Add-Type $cmd;[Combiner]::Combinations($sym,$pathOut)}


(Measure-Command{

    Get-Combinations $pathOut $Symbols $Length

}).TotalSeconds
TotalSeconds : 0,2987353
еще
'abcdefghij0123' = 1,978599
'0123456789abcdefghij' = 17,4350418

Последний раз редактировалось Fors1k, 17-05-2020 в 18:24.

Это сообщение посчитали полезным следующие участники:

Отправлено: 16:35, 17-05-2020 | #51