.NET 4.x Комбинаторика: раскритиковать код - C#

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

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

Добрый день, только начинаю учить c#. Задача - поиск пароля, где psw[1..n] - пароль, случайно написанный, а alp[1..k] - алфавит. Комбинаторика говорит о размещении, смысл ясен, но хочется чтобы более смыслящие поругали мой бездарный код.
    class Operation
    {
        
        // вычисляем количество элементов массива
        public int Len(double k, double n){
            double x = Math.Pow(k, n);
            return Convert.ToInt32(x);
 
        }

        string[] pwd;
        string[] alp;
        public int z = 0;

        public string[] Pwd { 
            get { return pwd; }
            set { pwd = value; }
        }
 
        public string[] Alp
        {
            get { return alp; }
            set { alp = value; }
        }

        // рекурсивный перебор вариантов
        public void Fun(int k,int n)
        {
            if (k == n)
                foreach (string x in pwd)
                    Console.WriteLine(x);
            else
            {
                z++;
                for (int i = z; i <= k; i++)
                {
                    for (int j = 0; j < alp.Length; j++)
                        pwd[i].Insert(i,alp[j]);
                        if (Match("123",pwd[i])) break;
                        else
                    Fun(k + 1, n);
 
                }
                   
            }
        }
 
        public bool Match(string a, string b)
        {
            if (a == b) return true;
            else
                return false;

        }

    }

Решение задачи: «.NET 4.x Комбинаторика: раскритиковать код»

textual
Листинг программы
string[] pwd;
        string[] alp;
        public int z = 0;
 
 
        public string[] Pwd { 
            get { return pwd; }
            set { pwd = value; }
        }
 
        public string[] Alp
        {
            get { return alp; }
            set { alp = value; }
        }

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


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

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

12   голосов , оценка 4 из 5
Похожие ответы