Beispiel #1
0
        public static void DoTask()
        {
            // *Задание 5
            // Вычислить, используя рекурсию, функцию Аккермана:
            // A(2, 5), A(1, 2)
            // A(n, m) = m + 1, если n = 0,
            //         = A(n - 1, 1), если n <> 0, m = 0,
            //         = A(n - 1, A(n, m - 1)), если n> 0, m > 0.

            Console.Clear();
            UtilsCommon.WriteOnCenter("Выполняем задачу 5");
            var n   = UtilsCommon.ReadIntParameter("Введите первое число");
            var m   = UtilsCommon.ReadIntParameter("Введите второе число");
            var res = UtilsMath.AccermanFunction((ulong)n, (ulong)m);

            Console.WriteLine($"Ответ:{res}");
        }
Beispiel #2
0
        public static void DoTask()
        {
            // Задание 4. Написать метод принимающий некоторое количесво чисел, выяснить
            // является заданная последовательность элементами арифметической или геометрической прогрессии
            //
            // Примечание
            //             http://ru.wikipedia.org/wiki/Арифметическая_прогрессия
            //             http://ru.wikipedia.org/wiki/Геометрическая_прогрессия

            Console.Clear();
            UtilsCommon.WriteOnCenter("Выполняем задачу 4");
            var n      = UtilsCommon.ReadIntParameter("Введите количество элементов последовательности");
            var arrInt = new int[n];

            for (int i = 0; i < n; i++)
            {
                arrInt[i] = UtilsCommon.ReadIntParameter($"Введите {(i + 1)}й элемент последовательности");
            }

            var resProgression = UtilsMath.IsProgression(arrInt);

            Console.WriteLine($"Данная последовательность является арифметической: {(resProgression.isArithmetic ? "Да":"Нет")}");
            Console.WriteLine($"Данная последовательность является геометрической: {(resProgression.isGeometric ? "Да":"Нет")}");
        }