Посчитать четные и нечетные цифры числа
Определить, сколько в числе четных цифр, а сколько нечетных. Число вводится с клавиатуры.
Решение задачи на языке программирования 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: {even}, odd: {odd}')
Пример выполнения:
Кроме чисто математического подхода в 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. В иных случаях — ложь.
Больше задач в PDF
Перейти к содержанию
На чтение 2 мин Просмотров 1.7к. Опубликовано 27.01.2023
Содержание
- Введение
- Написание кода программы для подсчёта чётных и нечётных цифр числа
- Заключение
Введение
В ходе статьи напишем программу для подсчёта чётных и нечётных цифр в числе на языке программирования Python.
Написание кода программы для подсчёта чётных и нечётных цифр числа
Для начала дадим пользователю возможность ввода числа и создадим две переменные, одна для чётных цифр, вторая для нечётных:
number = int(input('Введите число: '))
# Для чётных цифр
even = 0
# Для нечётных цифр
odd = 0
Создадим цикл while, который не закончится пока number > 0:
number = int(input('Введите число: '))
even = 0
odd = 0
while number > 0:
Внутри цикла зададим условие, если number делится на 2 без остатка, то цифра чётная и прибавляем к even единицу, если условие не сработало, то цифра нечётная и прибавляем единицу к odd:
number = int(input('Введите число: '))
even = 0
odd = 0
while number > 0:
if number % 2 == 0:
even += 1
else:
odd += 1
После условия делим number целочисленно на 10, чтобы избавиться от цифры, которая уже была проверена:
number = int(input('Введите число: '))
even = 0
odd = 0
while number > 0:
if number % 2 == 0:
even += 1
else:
odd += 1
number = number // 10
Выведем результат используя форматирование f-string:
number = int(input('Введите число: '))
even = 0
odd = 0
while number > 0:
if number % 2 == 0:
even += 1
else:
odd += 1
number = number // 10
print(f'Количество чётных цифр: {even}')
print(f'Количество нечётных цифр: {odd}')
Проверка программы:
Введите число: 9876124
Количество чётных цифр: 4
Количество нечётных цифр: 3
Заключение
В ходе статьи мы с Вами написали программу для подсчёта чётных и нечётных цифр в числе на языке программирования Python. Надеюсь Вам понравилась статья, желаю удачи и успехов! 🙂
Kalighost 1 / 1 / 1 Регистрация: 26.02.2018 Сообщений: 155 |
||||
1 |
||||
Сколько четных цифр в числе?12.09.2018, 23:11. Показов 20301. Ответов 3 Метки четные (Все метки)
Дано целое число n. Требуется найти количество четных цифр в записи этого числа отличных от нуля. пример: 42 = 2 четных числа; 13 = 0 четных; в чем проблема: если ввести 100500, то правильный ответ 0, так как только натуральные цифры четные, ноль не считаем. Помогите дописать мой код:
Буду благодарен за помощь!
0 |
Programming Эксперт 94731 / 64177 / 26122 Регистрация: 12.04.2006 Сообщений: 116,782 |
12.09.2018, 23:11 |
3 |
Farost 78 / 3 / 2 Регистрация: 03.10.2015 Сообщений: 26 |
||||
12.09.2018, 23:16 |
2 |
|||
Сообщение было отмечено Kalighost как решение РешениеВ чем проблема просто добавить второе условие?
1 |
1 / 1 / 1 Регистрация: 26.02.2018 Сообщений: 155 |
|
12.09.2018, 23:22 [ТС] |
3 |
Оу, мда, точно, спасибо большое Вам!
0 |
vlisp 594 / 914 / 149 Регистрация: 10.08.2015 Сообщений: 4,775 |
||||
13.09.2018, 00:29 |
4 |
|||
1 |
Посчитать четные и нечетные цифры числа
Просмотров 9.9к. Обновлено 29 октября 2021
- Присвоить переменным-счетчикам четных (even) и нечетных (odd) цифр значение 0.
- Пока введенное число не уменьшится до нуля выполнять нижеследующие действия:
- Если число четное (делится нацело на 2), значит последняя его цифра четная и надо увеличить на 1 переменную even.
- Иначе число нечетное и следует добавить 1 к переменной odd.
- Убрать последнюю цифру числа путем деления числа нацело на 10.
Pascal
посчитать четные и нечетные цифры числа паскаль
var n: word;
even, odd: byte;
begin
readln(n);
even := 0;
odd := 0;
while n > 0 do begin
if n mod 2 = 0 then
even := even + 1
else
odd := odd + 1;
n := n div 10;
end;
writeln('четных ', even);
writeln('нечетных ', odd);
end.
56709
четных 2
нечетных 3
Язык Си
#includemain() {
int n,even,odd;
scanf("%d",&n);
even = 0; // четные
odd = 0; // нечет.
while (n>0) {
if (n%2 == 0) even += 1;
else odd += 1;
n = n/10;
}
printf("четных - %d, нечетных - %dn", even, odd);
}
100238
четных - 4, нечетных - 2
Python
посчитать четные и нечетные цифры числа python(питон)
n = int(input())
even=odd=0
while n>0:
if n%2 == 0:
even += 1
else:
odd += 1
n = n//10
print("четных - %d, нечетных - %d" % (even, odd))
12098
четных - 3, нечетных - 2
КуМир
алг чет_нечет
нач
цел n, even, odd
ввод n
even := 0
odd := 0
нц пока n > 0
если mod(n,2) = 0 то even := even + 1
иначе odd := odd + 1
все
n := div(n,10)
кц
вывод "Четных: ", even, нс
вывод "Нечетных: ", odd
кон
308591
Четных: 2
Нечетных: 4
Basic-256
input n
even=0
odd=0
while n>0
if n%2 = 0 then
even = even + 1
else
odd = odd + 1
endif
n = n10
endwhile
print "Четных " + even
print "Нечетных " + odd
734721
Четных 2
Нечетных 4
Дано целое число n. Требуется найти количество четных цифр в записи этого числа отличных от нуля.
Хотелось бы услышать от Вас, как мне реализовать данную программу.
Вот мои наработки:
#include <iostream>
using namespace std;
int main() {
int a, b = 0, c = 0;
cin >> a;
if (a % 2 == 0) {
b = b + 1;
} else {
b = b + 0;
}
if (a / 10 % 2 == 0) {
c = c + 1;
} else {
c = c + 0;
}
cout << b + c;
return 0;
}
а вот пример входных данных:
>
задан 10 сен 2018 в 11:05
1
У вас как минимум не сработает для многозначного числа типа 1240152136… Увы, нет времени постепенно подталкивать вас к самостоятельному решению, так что посмотрите на этот код и постарайтесь понять, как он работает.
unsigned int evens(unsigned int n)
{
int total = 0;
for(;n;n/=10)
if (n%2 == 0 && n%10) ++total;
return total;
}
ответ дан 10 сен 2018 в 11:13
HarryHarry
214k15 золотых знаков117 серебряных знаков229 бронзовых знаков
0