Оптимизировать код перебора комбинаций - C#
Формулировка задачи:
Цель кода: перебор комбинаций символов из заданного набора и запись в файл.
Примерно за полчаса сгенерировалось около 700 тыс. вариантов.
Можно ли как то ускорить процесс?
void parse() { string dict = "abcdefghijklmnopqrstuvwxy123456789!@#$%^&*()_+}{|\\/[].,№;:?"; //length=59 StringBuilder word = new StringBuilder(); word.Append("1234567890"); string result = ""; #region foreach foreach (char c0 in dict) { word[0] = c0; result += "L"+word.ToString() + Environment.NewLine; { foreach (char c1 in dict) { word[1] = c1; result += "L" + word.ToString() + Environment.NewLine; count++; foreach (char c2 in dict) { word[2] = c2; result += "L" + word.ToString() + Environment.NewLine; count++; foreach (char c3 in dict) { word[3] = c3; result += "L" + word.ToString() + Environment.NewLine; count++; foreach (char c4 in dict) { word[4] = c4; result += "L" + word.ToString() + Environment.NewLine; count++; foreach (char c5 in dict) { word[5] = c5; result += "L" + word.ToString() + Environment.NewLine; count++; foreach (char c6 in dict) { word[6] = c6; result += "L" + word.ToString() + Environment.NewLine; count++; foreach (char c7 in dict) { word[7] = c7; result += "L" + word.ToString() + Environment.NewLine; count++; foreach (char c8 in dict) { word[8] = c8; result += "L" + word.ToString() + Environment.NewLine; count++; foreach (char c9 in dict) { word[9] = c9; result += "L" + word.ToString() + Environment.NewLine; count++; } } } } } } } } } } } #endregion SaveFileDialog sfd = new SaveFileDialog(); if (sfd.ShowDialog() == DialogResult.OK) { System.IO.File.WriteAllText(sfd.FileName + ".txt", result); } }
Решение задачи: «Оптимизировать код перебора комбинаций»
textual
Листинг программы
var word = "1234567890".ToCharArray(); StringBuilder result = new StringBuilder(); foreach (char c0 in dict) { word[0] = c0; result.Append('L').Append(word, 0, word.Length).AppendLine();
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д