Определение четности числа с использованием рекурсии
Программа принимает на вход число и рекурсивно определяет, четное это число или нечетное.
Решение задачи
- Принимаем число и записываем его в переменную.
- Передаем это число в качестве аргумента в рекурсивную функцию.
- Определяем базовое условие рекурсии (т.е., базу рекурсии), при котором решение задачи тривиально и не требует дальнейшего обращения функции к самой себе. В данном случае значение переменной должно быть меньше 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 Число нечетное!
Проверка на четность

В числе которое я ввожу нужно посчитать четные числа. У меня получается, допустим ввожу число 30 - оно уже не проверяется, а начинает проверять с 29. При том, как мне сказал препод, здесь не нужен вложенный цикл. Как осуществить
if num % 2 == 0:
без if'a. Должно быть как то так:
Цикл
вводим число
проверяем число
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
Ответы с готовыми решениями:

Проверка на четность
Задача усложняется. Ваша функция, как и раньше, должна возвращать True если число четное, и False.
Проверка числа не четность
Объявсите функцию для проверки числа на четность (возвращается Tue если переданное число четное и.
Проверка на четность
Есть восьмизначное число, проверить входят ли в запись этого числа четные цифры. Как реализовать.

Проверка на четность
Написать программу которая проверяет число на четность
![]()
7909 / 4196 / 1808
Регистрация: 27.03.2020
Сообщений: 7,017
ZloyBooT,
cnt = (num-1)//2
4494 / 3242 / 1131
Регистрация: 21.03.2016
Сообщений: 7,985
Сообщение от ZloyBooT 
В числе которое я ввожу нужно посчитать четные числа.
в числе числа. все! мир перевернулся.
может четные числа в диапазоне от 1 до введенного числа?
Регистрация: 18.07.2021
Сообщений: 3
Semen-Semenich, ну, скорей всего ты правильнее меня выразился, но, если посмотреть код, можно понять, что вводимое число раскладывается в последовательность, и исходя из этого все разложенные числа проверяются на четность и отсеиваются
4494 / 3242 / 1131
Регистрация: 21.03.2016
Сообщений: 7,985
print(int(input()) // 2)
это считая число введенное
Добавлено через 2 минуты
1 2 3 4 5 6
num = int(input("Введите число: ")) count = 0 while num > 1: count += not num % 2 num -= 1 print("четных чисел", count)
Am I evil? Yes, I am!
![]()
![]()
17066 / 10012 / 2764
Регистрация: 21.10.2017
Сообщений: 21,964
print(int(input()) >> 1)
1 2 3 4 5
n = int(input()) count = 0 for i in range(1, n): count += i & 1 print(count)
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
Помогаю со студенческими работами здесь
Проверка на чётность
Продемонстрируйте для заданного числа проверку его четности ( & 1). для этого запишите.
Проверка на четность
Значит задача следующая вывести на экран только четные значения функции. Функцию я задал.
Проверка на четность
Возникло 2 вопроса . Как проверить многозначное целое число на четность разрядов? Как рассмотреть.
Проверка числа на чётность
Помогите пожалуйста разработать программу ввода числовых данных с клавиатуры, которая запрашивает.
проверка на четность и массивы
Помогите пожалуйста!! 1. Определить, является ли заданное целое число А нечетным двузначным.
Проверка на чётность в mulisp'e
Добрый вечер. Если кого-то нибудь не затруднит, помогите пожалуйста написать программу на.

Проверка на четность числа
Помогите пожалуйста с очень легкой задачей . Вводиться число , проверить является ли оно четным.
Или воспользуйтесь поиском по форуму:
Посчитать четные и нечетные цифры числа
Определить, сколько в числе четных цифр, а сколько нечетных. Число вводится с клавиатуры.
Решение задачи на языке программирования Python
Если число делится без остатка на 2, его последняя цифра четная. Увеличиваем на 1 счетчик четных цифр even . Иначе последняя цифра числа нечетная, увеличиваем счетчик нечетных цифр odd .
В Python операцию нахождения остатка от деления выполняет знак % .
Чтобы избавиться от младшего уже учтенного разряда, число следует разделить нацело на 10. Деление нацело обозначается двумя слэшами // .
a = int(input()) even = 0 odd = 0 while a > 0: if a % 2 == 0: even += 1 else: odd += 1 a = a // 10 print(f'Even: , odd: ')
65439 Even: 2, odd: 3
Кроме чисто математического подхода в Python можно решить задачу "через строку". Мы не будем переводить введенное строковое представление числа к целочисленному типу, вместо этого переберем символы строки в цикле for . Каждый символ преобразуем к числу и проверим на четность.
a = input() even = 0 odd = 0 for i in a: if int(i) % 2 == 0: even += 1 else: odd += 1 print("Even: %d, odd: %d" % (even, odd))
Поскольку количество четных (как и нечетных) цифр ограничено, в программу можно включить что-то типа "базы данных" и проверять каждый символ на вхождение в нее.
a = input() digits = "02468" even = 0 odd = 0 for i in a: if i in digits: even += 1 else: odd += 1 print("Even: %d, odd: %d" % (even, odd))
Обратим внимание, что оператор in языка Python в заголовке цикла for обозначает иное, чем в заголовке условного оператора. Логическое выражение i in digits возвращает истину если i входит в состав digits . В иных случаях - ложь.
X Скрыть Наверх
Решение задач на Python
Определение четности числа в Python

Для того чтобы определить четное число введено или нет в Python необходимо воспользоваться оператором «Остаток деления» и написать условие.
Оператор вычисления остатка от деления
В языке программирования Python, также как и в других языках программирования, есть команда — оператор (%), который вычисляет остаток от деления на число. Приведем примеры:
4 % 2 >>>0 5 % 2 >>>1 20 % 10 >>>0 25 % 10 >>>5
При делении числа 4 на 2 — остаток 0. При делении числа 5 на 2 — остаток 1. При делении числа 20 на 10 — остаток 0. При делении числа 25 на 10 — остаток 5.
Определения четности числа с помощью оператора остатка от деления
Мы знаем, что при делении четного числа на 2 у нас в остатке остается 0. Поэтому для определения четного и нечетного числа можем воспользоваться оператором остатка от деления. Напишем для этого условие:
a = 5 if a % 2 == 0: print('Четное число') else: print('Нечентное число') >>> Нечетное число
В начале присваиваем переменной a число, четность которого хотим проверить. Далее пишем условие: если остаток деления переменной a на 2 равно 0, то вывести на экран «Четное число», в противном случае вывести «Нечетное число».
При запуске написанного кода, мы увидим «Нечетное» число.
Написание функции для определения четности числа
Можем написать функцию, которая на входе будет получать число, а на выходе выводить на экран «Четное число» или «Нечетное число» в зависимости от четности полученного числа.
def even_or_odd(a): if a % 2 == 0: print('Четное число') else: print('Нечентное число') even_or_odd(10) >>> Четное число even_or_odd(11) >>> Нечетное число
Разберем написанный код. В первой строке мы объявляем новую функцию. Назовем её even_or_odd. Функция на входе будет получать одно число. Далее она проверяет это число на остаток от деления на 2 и выводит на печать «Четное число» или «Нечетное число». Условие, которое написано в функции мы рассмотрели уже ранее.
Как видим, определить четность числа — это довольно простая задача, которая быстро решается с помощью оператора остатка от деления (%).