Задача на генерацию паролей - C#

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

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

Нужно создать программу в которой будет

n

- количество символов пароля хотя бы

a

- заглавных букв хотя бы

b

- строчных букв хотя бы

c

- цифр. В пароле не должно быть двух одинаковых идущих подряд символов. В первой строке входного файла задано целое число

n

— требуемая длина пароля. Во второй строке заданы неотрицательные целые числа

a

,

b

и

c

— минимальное необходимое число заглавных букв, строчных букв и цифр, соответственно (a + b + c ≤ n). Пример
Ввод 8 2 5 1 Вывод PasSw0rd
Заранее спасибо

Решение задачи: «Задача на генерацию паролей»

textual
Листинг программы
class Program
{
   static void Main()
     {
         string pass = new PassGen().GetPass(4, 4, 4);
     }
}
class PassGen
{
    string Chars1 => new string(Enumerable.Range('a', 26).Select(i => (char)i).ToArray());
    string Chars2 => Chars1.ToUpper();
    string Chars3 => "0123456789";
    Random rnd = new Random();
    public string GetPass(int a, int b, int c)
            => new string(Chars1.OrderBy(_=>rnd.Next()).Take(a).Concat(Chars2.OrderBy(_=>rnd.Next()).Take(b)).Concat(Chars3.OrderBy(_=>rnd.Next()).Take(c)).OrderBy(_=>rnd.Next()).ToArray());
}

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


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

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

7   голосов , оценка 4.429 из 5