Untitled

mail@pastecode.io avatar
unknown
plain_text
a year ago
1.8 kB
1
Indexable
Never
{
                int n, m;

                bool validN;
                bool validM;

                do
                {
                    Console.WriteLine("Введите значение для сочетания N:");
                    string? inputN = Console.ReadLine();

                    validN = int.TryParse(inputN, out n);

                    if (!validN)
                        Console.WriteLine("Ошибка ввода. Пожалуйста, введите целочисленное значение для N.");

                } while (!validN);

                do
                {
                    Console.WriteLine("Введите значение M:");
                    string? inputM = Console.ReadLine();

                    validM = int.TryParse(inputM, out m);

                    if (!validM)
                        Console.WriteLine("Ошибка ввода. Пожалуйста, введите целочисленное значение для M.");

                } while (!validM);

                try
                {
                    if (n < 0 || m < 0)
                        throw new ArgumentException("N и M должны быть неотрицательными числами.");

                    long result = Calcfactorial(n, m);
                    string suffix = (result == 1) ? "сочетание" : "сочетаний";
                    Console.WriteLine("Количество {0} при N равное {1} по M равное {2} составит {3} {4}", suffix, n, m, result, suffix);
                }
                catch (ArgumentException except)
                {
                    Console.WriteLine("Ошибка: " + except.Message);
                }