Посчитать четные и нечетные цифры числа
Определить, сколько в числе четных цифр, а сколько нечетных. Число вводится с клавиатуры.
Решение задачи на языке программирования 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
Посчитать четные и нечетные цифры числа
Просмотров 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
0 / 0 / 2 Регистрация: 05.01.2016 Сообщений: 68 |
|
1 |
|
Найти количество нечётных цифр в числе11.03.2016, 16:25. Показов 12569. Ответов 3
Цикл с проверкой условий. Задано число N. Напишите программу, которая находит количество нечётных цифр в заданном числе. Выведите количество нечётных цифр в заданном числе. Примеры
0 |
Puporev Почетный модератор 64286 / 47585 / 32739 Регистрация: 18.05.2008 Сообщений: 115,182 |
||||
11.03.2016, 16:28 |
2 |
|||
1 |
0 / 0 / 2 Регистрация: 05.01.2016 Сообщений: 68 |
|
11.03.2016, 16:42 [ТС] |
3 |
Можно без ABS и odd. Пожалуйста
0 |
Cyborg Drone Модератор 9588 / 4908 / 3244 Регистрация: 17.08.2012 Сообщений: 15,334 |
||||||||
11.03.2016, 23:58 |
4 |
|||||||
Сообщение было отмечено Памирыч как решение РешениеМожно… Неясно, правда, зачем это нужно.
Кстати, и у Puporev тоже можно немного упростить:
поскольку если последняя цифра нечётная, то и всё число нечётное.
0 |
Here is another technique i used to follow. Basically to find the number of odd/even integers in a range, just pick up the first odd/even and last odd/even in that range. Say for example i need to find out the number of odd integers in the range 100 to 150 (inclusive).
- Pick the first odd integer -> 101
- Pick the last odd integer -> 149
- Find the difference -> 149-101= 48
- Divide by the interval(in this case 2, since the positive difference between any two odd integers is 2). So -> 48/2 = 24
- Add 1 for an inclusive range, -> 24+1=25, This is the step we usually do for all inclusive problems.
This will work for 1-100 like, range(1-99)-> 99-1=98 -> 98/2=49 -> 49+1 = 50.
NOTE: For exclusive set, you should consider if the numbers you pick lie inside the interval in order to consider it as an inclusive set. If its confusing, lets say the above range 100 to 150 is not inclusive, we still pick up numbers 101 and 149 and they lie within the range, so the inclusive property continues here also. But what if i need to find the number of even integers in this range?
Same procedure can be used,
1. Pick first and last even integer, 100 and 150
2. 150-100 = 50
3. 50/2 = 25
4. If it is inclusive set, add 1 -> 25+1=26
5. If it is an exclusive set, subtract 1 -> 25-1=24
Don’t be confused, its just a basic understanding of ranges, read it once more. This is actually very easy and reliable method.
This can be used not only for odd/even integers in a range but also for one of the example given above.
How many integers of the form 5k+2 are there from 1 to 200?
Starting from k=0, 5(0)+2 = 2 and the last term will be 197, since we need a (multiple of 5)+2 -> 5(39)+2=195+2
The range would look like 2, 7, 12, … 197
Again our technique,
197-2 = 195
Divide by 5 in this case, since the positive difference is 5
So 195/5=39
Add 1, 39+1=40, Got the answer!!!
Перейти к содержанию
На чтение 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. Надеюсь Вам понравилась статья, желаю удачи и успехов! 🙂