Алгоритмы

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

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

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

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

  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
Число нечетное!
Ilyaragalin

Recent Posts

10 удалённых Python-вакансий

Если вы ищете работу на Python, на Talanto.work сейчас есть варианты для junior, middle, senior…

6 месяцев ago

Где искать Python-вакансии в 2026 году: зачем на Talanto.work появился отдельный сценарий поиска

Рынок Python-вакансий большой, но удобным его назвать сложно. Формально вакансий много, однако в реальном поиске…

6 месяцев ago

Срезы в Python со всеми подробностями

Срезы в Python — это больше, чем a[2:7]. В статье — быстрый разбор полезных приёмов:…

8 месяцев ago

Возведение в степень в Python: полное руководство

В этой статье мы рассмотрим возведение в степень в Python с помощью различных методов, от…

9 месяцев ago

Как удалить дубликаты из списка Python?

Дубликаты в списке Python — частая проблема. В статье показано, как быстро убрать повторы, в…

9 месяцев ago

Виртуальный (shared) хостинг от SpaceWeb: технический обзор

Услуга виртуального хостинга на SpaceWeb позволяет арендовать часть сервера (shared-сервера) и разместить на нём свой…

11 месяцев ago