Генератор паролей - C# (187503)
Формулировка задачи:
Здравствуйте. Нужен был генератор паролей, но в интернете не нашел ничего подходящего. Немного знаком с C#, но мне нужна помощь. Создал окно c одним textbox и одной кнопкой, где будут писаться слова, набор букв или единичные символы разделенные запятой. Количество таких элементов не ограничено. Пример (password,12,/) при нажатии кнопки, все элементы записанные в textbox начинаю генерироваться от самого простого к самому сложному, их нужно записать в текстовый файл построчно, либо также через запятую (под простым понимается один любой элемент, под трудным все элементы, т.е. (password,12,/, password12, password/, 12password, 12/, /password, /12, password12/, password/12, 12password/, 12/password, /password12, /12password)
Решение задачи: «Генератор паролей»
textual
Листинг программы
static List<List<T>> GenerateCombinations<T>(List<T> combinationList, int k) { var combinations = new List<List<T>>(); if (k == 0) { var emptyCombination = new List<T>(); combinations.Add(emptyCombination); return combinations; } if (combinationList.Count == 0) { return combinations; } T head = combinationList[0]; var copiedCombinationList = new List<T>(combinationList); List<List<T>> subcombinations = GenerateCombinations(copiedCombinationList, k - 1); foreach (var subcombination in subcombinations) { subcombination.Insert(0, head); combinations.Add(subcombination); } combinationList.RemoveAt(0); combinations.AddRange(GenerateCombinations(combinationList, k)); return combinations; }