73
Существует обширный класс задач, для которых применение рекурсии
принципиально необходимо. К их числу относятся задачи искусственного
интеллекта,
связанные с поиском решений, оптимальных по тем или иным
критериям. Примеры подобных задач были представлены в данной главе.
У
ПРАЖНЕНИЯ
1. Напишите рекурсивный алгоритм получения всех возможных пере-
становок
N целых чисел.
2. Напишите
рекурсивную функцию, проверяющую правильность рас-
становки скобок в строке. При правильной расстановке выполняются
условия:
− количество открывающих и закрывающих скобок равно;
− внутри любой пары «открывающая – соответствующая закрываю-
щая скобка» скобки расставлены правильно.
3. Создайте функцию, печатающую все возможные представления на-
турального числа
N в виде суммы других натуральных чисел.
4. Дано
натуральное число N>1. Предложите рекурсивный алгоритм
проверки, является ли оно простым. Алгоритм должен иметь слож-
ность
O(logN).
5. Дано слово, состоящее только из строчных латинских букв. Проверь-
те, является ли это слово палиндромом.
4 / 23