Генератор паролей - 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;
        }

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

6   голосов , оценка 4 из 5