Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > C# (си шарп)
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 02.07.2015, 01:05   #1
komra2
Новичок
Джуниор
 
Регистрация: 10.04.2015
Сообщений: 733
По умолчанию перебор знаков

Есть такой код(перебор):
Код:
string literals = "abcdefghijklmnopqrstuvwxyz";
        public string ConvertFrom(BigInteger num)
        {
            char[] buffer = new char[num == 0 ? 1 : (int)(BigInteger.Log(num, literals.Length) + 1)];
            int i = buffer.Length - 1;
            do
            {
                buffer[i--] = literals[(int)(num % literals.Length)];
                num /= literals.Length;
            }
            while (num > 0);
            return new string(buffer);
        }
        public IEnumerable<string> Generate(int length)
        {
            var max = BigInteger.Pow(literals.Length, length);
            for (BigInteger i = 0; i < max; i++)
                yield return ConvertFrom(i).PadLeft(length, literals[0]);
        }
как сделать чтобы было бы так:
Код:
public IEnumerable<string> Generate(int length)
{
    var min = BigInteger.Parse("0");
var max = BigInteger.Parse("15");
    for (BigInteger i = min; i < max; i++)
    {
        yield return ConvertFrom(i).PadLeft(length, literals[0]);
    }
}

public IEnumerable<string> Generate(int length)
{
    var min = BigInteger.Parse("15");
var max = BigInteger.Parse("30");
    for (BigInteger i = min; i < max; i++)
    {
        yield return ConvertFrom(i).PadLeft(length, literals[0]);
    }
}


public IEnumerable<string> Generate(int length)
{
    var min = BigInteger.Parse("30");
var max = BigInteger.Parse("45");
    for (BigInteger i = min; i < max; i++)
    {
        yield return ConvertFrom(i).PadLeft(length, literals[0]);
    }
}
тут показано три формы, а мне надо чтобы при открытие в перед каждой формы перебор продолжался бы то есть что то так: (aa ab ac)1 (ad ae af)2 (ag ah ai)3 (aj ak al)1 (am an ao)2 (ap aq ar)3 ну итд.

Последний раз редактировалось Stilet; 02.07.2015 в 06:13.
komra2 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Программа перебора вариантов (изменить перебор цифровой на перебор буквенный) BArt2000 Паскаль, Turbo Pascal, PascalABC.NET 5 02.03.2015 12:56
Удаление знаков boomeer Общие вопросы C/C++ 4 04.08.2010 22:04
Количество знаков Flangini Microsoft Office Excel 9 02.07.2009 15:22
Подсчет знаков Dizman Помощь студентам 4 31.01.2008 22:27