Как найти количество нечетных цифр в числе

Посчитать четные и нечетные цифры числа

Определить, сколько в числе четных цифр, а сколько нечетных. Число вводится с клавиатуры.

Решение задачи на языке программирования 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

  1. Присвоить переменным-счетчикам четных (even) и нечетных (odd) цифр значение 0.
  2. Пока введенное число не уменьшится до нуля выполнять нижеследующие действия:
    1. Если число четное (делится нацело на 2), значит последняя его цифра четная и надо увеличить на 1 переменную even.
    2. Иначе число нечетное и следует добавить 1 к переменной odd.
    3. Убрать последнюю цифру числа путем деления числа нацело на 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

Язык Си


#include

main() {
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

Pascal
1
2
3
4
5
6
7
n:=abs(n);
k:=0;
while n>0 do
 begin
  if odd(n mod 10) then inc(k);
  n:=n div 10;
 end;



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

Лучший ответ Сообщение было отмечено Памирыч как решение

Решение

Можно… Неясно, правда, зачем это нужно.

Pascal
1
2
3
4
5
6
7
if n < 0 then n:=-n;
k:=0;
while n>0 do
 begin
  if n div 2 = 1 then inc(k);
  n:=n div 10;
 end;

Кстати, и у Puporev тоже можно немного упростить:

Pascal
5
  if odd(n) then inc(k);

поскольку если последняя цифра нечётная, то и всё число нечётное.



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).

  1. Pick the first odd integer -> 101
  2. Pick the last odd integer -> 149
  3. Find the difference -> 149-101= 48
  4. Divide by the interval(in this case 2, since the positive difference between any two odd integers is 2). So -> 48/2 = 24
  5. 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

Содержание

  1. Введение
  2. Написание кода программы для подсчёта чётных и нечётных цифр числа
  3. Заключение

Введение

В ходе статьи напишем программу для подсчёта чётных и нечётных цифр в числе на языке программирования 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. Надеюсь Вам понравилась статья, желаю удачи и успехов! 🙂

Admin

Добавить комментарий