Определение четности числа с использованием рекурсии

Описание задачи

Программа принимает на вход число и рекурсивно определяет, четное это число или нечетное.

Решение задачи

  1. Принимаем число и записываем его в переменную.
  2. Передаем это число в качестве аргумента в рекурсивную функцию.
  3. Определяем базовое условие рекурсии (т.е., базу рекурсии), при котором решение задачи тривиально и не требует дальнейшего обращения функции к самой себе. В данном случае значение переменной должно быть меньше 2. Если это условие выполняется, то работа функции завершается.
  4. В противном случае мы опять рекурсивно вызываем нашу функцию, уменьшив значение переменной на 2.
  5. В конце концов работа функции завершается, и по ее результату ( True или False) мы определяем четность числа.
  6. Выводим конечный результат на экран.
  7. Конец.

Исходный код

Ниже дан исходный код для программы для рекурсивного определения четности числа. Результаты работы программы также даны ниже.

def check(n):
    if (n < 2):
        return (n % 2 == 0)
    return (check(n - 2))
n = int(input("Введите число:"))
if (check(n) == True):
      print("Число четное!")
else:
      print("Число нечетное!")

Объяснение работы программы

  1. Пользователь вводит число и оно записывается в переменную n.
  2. Число, записанное в переменную n, передается в качестве аргумента в рекурсивную функцию check(), которая в коде написана самой первой.
  3. Базой рекурсии является условие n < 2. При выполнении данного условия функция прекращает свою работу и возвращает либо True, либо False.
  4. В противном случае, функция вызывается снова с аргументом n - 2.
  5. Когда функция завершает свою работу и возвращает результат, мы на его основе определяем, четное это число или нечетное. Если функция возвращает True, то число четное, если False, то нечетное.
  6. Выводим результат на экран.

Результаты работы программы

Пример 1:
Введите число:124
Число четное!
 
Пример 2:
Введите число:567
Число нечетное!