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

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

Аватара для YuS_2

Crazy


Contributor


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

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


Ну и напоследок, победитель нашего конкурса генераторов прямого перебора :
Код: Выделить весь код
param(
	[string]$str = 'abcdefghij',
	[int] $lim = 6,
	[string]$path = '.\arrangement_wr_csharp_2.txt'
)

add-type @"
using System;
using System.Collections.Generic;
public class Arrangement
{
	static String Convert(string sym, int num, int tLen) {
		var sym0 = sym[0];
		var len = sym.Length;
		var res = "";
		int ind;
		while (num > 0) {
			ind = num%len;
			num = num/len;
			res = sym[ind] + res;
		}
		return res.PadLeft(tLen, sym0);
	}
	public static IEnumerable<String> ArrangWithRep(string sym, int len){
		for (var i = 0; i < Math.Pow(sym.Length, len); i++)
		yield return Convert(sym, i, len);
	}
}
"@
measure-command{
$file = new-object io.streamwriter ([io.file]::open($path,'Create'))
foreach ($item in ([arrangement]::arrangwithrep($str,$lim))){
	$file.writeline($item)
}
$file.close()
} | out-file time_arrangement_wr_csharp_2.txt
TotalSeconds : 4,6773432

-------
scio me nihil scire. Ѫ

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

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