Пример #1
0
        static void Main(string[] args)
        {
            int n = 10, m = 5, numThread = 4;

            Console.WriteLine(Comb.P(n));
            Console.WriteLine(Comb.A(n, m));
            Console.WriteLine(Comb.C(n, m));
            Console.WriteLine(Comb.P(n, numThread));
            Console.WriteLine(Comb.A(n, m, numThread));
            Console.WriteLine(Comb.C(n, m, numThread));
        }
Пример #2
0
        static void Main(string[] args)
        {
            int n = 0;
            int k = 0;

            while (true)
            {
                Console.WriteLine("Введiть кiлькiсть елементiв массиву");
                string answer = Console.ReadLine();
                try
                {
                    n = Convert.ToInt32(answer);
                    if (n <= 0)
                    {
                        throw new Exception();
                    }
                    break;
                }
                catch
                {
                    Console.WriteLine("Помилка конвертацiї. Це має бути число бiльше 0. Спробуйте ще");
                }
            }
            while (true)
            {
                Console.WriteLine("Введiть кiлькiсть елементiв комбiнацiї | розмiщення");
                string answer = Console.ReadLine();
                try
                {
                    k = Convert.ToInt32(answer);
                    if (k < 0 && k > n)
                    {
                        throw new Exception();
                    }
                    break;
                }
                catch
                {
                    Console.WriteLine("Помилка конвертацiї. Це має бути число бiльше 0 i менше n. Спробуйте ще");
                }
            }
            int P = Comb.P(n);

            Console.Write("P = " + P + "\n");
            int C = Comb.C(n, k);

            Console.Write("С = " + C + "\n");
            int PC = Comb._C(n, k);

            Console.Write("_C = " + PC + "\n");
            int A = Comb.A(n, k);

            Console.Write("A = " + A + "\n");
            int PA = Comb._A(n, k);

            Console.Write("_A = " + PA + "\n");
            int[] list = new int[n];
            for (int i = 1; i < n + 1; i++)
            {
                list[i - 1] = i;
            }
            Console.WriteLine("Виxiдний масив");
            ShowArray(list);
            Console.WriteLine("Перестановки");
            for (int i = 1; i < Comb.Factorial(n); i++)
            {
                Comb.GenPerm(list);
                ShowArray(list);
            }
            list = new int[k];
            for (int i = 1; i < k + 1; i++)
            {
                list[i - 1] = i;
            }
            Console.WriteLine("Комбiнацiї");
            ShowArray(list);
            for (int i = 1; i < C; i++)
            {
                Comb.GenComb(list, k, n);
                ShowArray(list);
            }
            Console.ReadLine();
        }