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

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

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

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

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

textual
Листинг программы
  1. static bool[] isValid;
  2. static void Generate(StringBuilder current, int lengthRemain)
  3. {
  4.     if (lengthRemain == 0)
  5.         Console.WriteLine("121" + current.ToString() + "9");
  6.     else
  7.     {
  8.         for (int next = 0; next <= 9; next++)
  9.             if (isValid[next])
  10.             {
  11.                 isValid[next] = false;
  12.                 current.Append(next);
  13.                 Generate(current, lengthRemain - 1);
  14.                 current.Remove(current.Length - 1, 1);
  15.                 isValid[next] = true;
  16.             }
  17.     }
  18. }
  19.  
  20. static void Main()
  21. {
  22.     isValid = Enumerable.Repeat(true, 10).ToArray();
  23.     isValid[1] = isValid[2] = isValid[9] = false;
  24.     Generate(new StringBuilder(), 6);
  25. }

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


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

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

10   голосов , оценка 3.8 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы