Перебор подстановок с помощью циклов - 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); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д