Описание задачи
Программа принимает на вход число и рекурсивно определяет, четное это число или нечетное.
Решение задачи
- Принимаем число и записываем его в переменную.
- Передаем это число в качестве аргумента в рекурсивную функцию.
- Определяем базовое условие рекурсии (т.е., базу рекурсии), при котором решение задачи тривиально и не требует дальнейшего обращения функции к самой себе. В данном случае значение переменной должно быть меньше
2. Если это условие выполняется, то работа функции завершается. - В противном случае мы опять рекурсивно вызываем нашу функцию, уменьшив значение переменной на
2. - В конце концов работа функции завершается, и по ее результату (
TrueилиFalse) мы определяем четность числа. - Выводим конечный результат на экран.
- Конец.
Исходный код
Ниже дан исходный код для программы для рекурсивного определения четности числа. Результаты работы программы также даны ниже.
def check(n):
if (n < 2):
return (n % 2 == 0)
return (check(n - 2))
n = int(input("Введите число:"))
if (check(n) == True):
print("Число четное!")
else:
print("Число нечетное!")
Объяснение работы программы
- Пользователь вводит число и оно записывается в переменную
n. - Число, записанное в переменную
n, передается в качестве аргумента в рекурсивную функциюcheck(), которая в коде написана самой первой. - Базой рекурсии является условие
n < 2. При выполнении данного условия функция прекращает свою работу и возвращает либоTrue, либоFalse. - В противном случае, функция вызывается снова с аргументом
n - 2. - Когда функция завершает свою работу и возвращает результат, мы на его основе определяем, четное это число или нечетное. Если функция возвращает
True, то число четное, еслиFalse, то нечетное. - Выводим результат на экран.
Результаты работы программы
Пример 1: Введите число:124 Число четное! Пример 2: Введите число:567 Число нечетное!

