Лабораторная работа 14. Рекурсия

1.     Описать рекурсивную функцию, которая вычисляет сумму бесконечного ряда. В качестве вида функции использовать свой вариант лабораторной работы 7. Для двух значений аргумента получить значения теоретической и реализованной функций.

2.     Требуется рекурсивно описать функцию f(x,n), вычисляющую величину x^n /n! при любом вещественном x и любом неотрицательном целом n.

3.     Описать рекурсивную функцию, вычисляющую сумму цифр натурального числа N.

4.     Описать рекурсивную функцию degree5(N), которая вычисляет, какой степенью числа 5 является натуральное число N. Если N не степень пяти, функция должна вернуть число -1. Например, degree5(50) = -1, degree5(125) =3, degree5(5) =1, degree5(1) =0.

5.     Рекурсивно описать функцию pow(x,n), вычисляющую x n для любого вещественного x (≠0) и любого целого n.

6.     Рекурсивно описать функцию maxdig(N), которая находит наибольшую цифру в десятичной записи неотрицательного целого числа N. Например, maxdig(27306) = 7.

7.     Рекурсивно описать функцию Head3(N), которая вычисляет число, получаемое приписыванием слева цифры 3 к десятичной записи целого неотрицательного числа N. Например: Head3(1592) = 31592

8.     Рекурсивно описать процедуру RevPrint(N), которая печатает в обратном порядке цифры десятичной записи целого неотрицательного числа N. Например, RevPrint(12345) должна вывести текст 54321.

9.     Описать рекурсивную функцию equal(N, S) (где N и S – неотрицательные целые числа), которая проверяет, совпадает ли сумма цифр в десятичной записи числа N со значением S. Например: equal(12345,15) = true, equal(24,7) = false, equal(100,1) = true.

10.  Рекурсивно описать процедуру PrNeg(x), которая печатает отрицательные элементы вектора x