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)); }
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(); }