Перебор подстановок с помощью циклов - C#

Узнай цену своей работы

Формулировка задачи:

Здравствуйте если не сложно помогите с задачкой желательно с помощью циклов 121хххххх9 надо создать все возможные варианты,"х" меняется от 0 до 9 но цифры 1,2,9 уже использоваться не могут и сами "х"-сы не должны повторяться короче цифры не должны повторяться в одной строке 1,2 и 9 всегда остаются на своем месте спасибо
 for (int i = 100000; i < 999999; i++)
            {
               string str = Convert.ToString (i); 
                for (int j = 0; j < str.Length; j++)
                {
                    if (j == 1 || j == 2 || j == 9)
                    {
                        continue;
                    }
                }

                Console.WriteLine("121" + i + "9");
            }
что-то типа этого нет?

Решение задачи: «Перебор подстановок с помощью циклов»

textual
Листинг программы
static bool[] isValid;
static void Generate(StringBuilder current, int lengthRemain)
{
    if (lengthRemain == 0)
        Console.WriteLine("121" + current.ToString() + "9");
    else
    {
        for (int next = 0; next <= 9; next++)
            if (isValid[next])
            {
                isValid[next] = false;
                current.Append(next);
                Generate(current, lengthRemain - 1);
                current.Remove(current.Length - 1, 1);
                isValid[next] = true;
            }
    }
}
 
static void Main()
{
    isValid = Enumerable.Repeat(true, 10).ToArray();
    isValid[1] = isValid[2] = isValid[9] = false;
    Generate(new StringBuilder(), 6);
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 3.8 из 5
Похожие ответы