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

0 / 0 / 0

Регистрация: 26.11.2020

Сообщений: 4

1

Вывести все нечётные цифры числа

26.11.2020, 01:45. Показов 3540. Ответов 2


Студворк — интернет-сервис помощи студентам

Помогите пожалуйста! Нужно вывести все нечётные цифры из числа, например число 1234, программа должна вывести цифры 1 и 3. Написать программу с помощью оператора цикла.



0



sanec38

Жесток & Наивен

482 / 187 / 91

Регистрация: 02.02.2017

Сообщений: 427

26.11.2020, 05:18

2

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

Решение

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
        private static void Main(string[] args)
        {
            var n = Convert.ToInt32(Console.ReadLine());
            var stack = new Stack<int>();             
            for(int i = n; i > 0; i /= 10)
            {
                if(i % 2 != 0)
                {
                    stack.Push(i % 10);
                }
            }
            Console.WriteLine(string.Join(" ",stack));
            Console.ReadLine();
        }

Если стек нельзя.

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
        private static void Main(string[] args)
        {
            var n = Convert.ToInt32(Console.ReadLine());
            var res = 0;
            //Сначало переворачиваем число для удобства вывода.
            for(int i = n; i > 0; i /= 10)
            {
                res *= 10;
                res += i % 10;
            }
            for(int i = res; i > 0; i /= 10)
            {
                if(i % 2 != 0)
                {
                    Console.Write($"{i % 10,-4}");
                }
            }
            Console.ReadLine();
        }



1



0 / 0 / 0

Регистрация: 26.11.2020

Сообщений: 4

26.11.2020, 09:18

 [ТС]

3

Добавлено через 13 минут
static void Main(string[] args)
{
Console.WriteLine(«Введите число»);
int a = int.Parse(Console.ReadLine());
int b = 0;

for (int i = a; i > 0; i /= 10)
{
b *= 10;
b += i % 10;
}
for (int i = b; i > 0; i /= 10)
{
if (i % 2 != 0)
{
Console.Write($»{i % 10}»);
}
}



0



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

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

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

Суть кода в том что — ‘Пользователь вводит число (a). Найти количество всех нечетных чисел, на диапазоне
Я настрогал пару строчек кода, но все равно не выходит в ответе. Когда ввожу даже 1 число просто ничего не выводиться, и даже причину не могу понять.

a= input('Введите первое число:')
def sum():
     if a / 2 == 0:
           print ('четное число')
     else:
          print ('Нечетное число')

GrAnd's user avatar

GrAnd

13.4k1 золотой знак8 серебряных знаков23 бронзовых знака

задан 15 янв 2022 в 10:37

monkeykong's user avatar

1

Я так понимаю, тебе нужно найти количество чётных чисел в определенном вводимом диапазоне.

num1 = int(input('Введи первое число: ')) // Пользователь вводит первое число
num2 = int(input ('Введите второе число: ')) // Пользователь вводит второе число
k = 0 // Добавляем переменную куда будем плюсовать количество чётных чисел

for i in range(num1,num2+1): // Создаём цикл в диапазоне введённых цифр (+1 во втором аргументе, потому что в range доходит ДО числа, а не ДО ВКЛЮЧИТЕЛЬНО этого числа)
    if i % 2 == 0: // Проверяем на чётность (если чётное делаем:)
        k +=1 // Если число чётное +1
print (k)

ответ дан 15 янв 2022 в 11:18

BnLvT's user avatar

BnLvTBnLvT

285 бронзовых знаков

  1. Введённое значение преобразовать в число при помощи функции int().
  2. Проверять остаток от деления a % 2 == 0.
  3. Ну и функцию таки следует вызвать sum().
a = int(input('Введите первое число: '))
def sum():
     if a % 2 == 0:
          print ('четное число')
     else:
          print ('Нечетное число')
sum()

P.S. Вообще-то есть встроенная функция с таким именем, так что называя свою так же вы лишаетесь доступа к ней. Так что лучше не называть что-либо стандартными именами.

ответ дан 15 янв 2022 в 10:48

GrAnd's user avatar

GrAndGrAnd

13.4k1 золотой знак8 серебряных знаков23 бронзовых знака

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

Просмотров 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

A 4 digit number that is composed only of odd digits can only use the digits 1, 3, 5, 7 and 9. That gives you 5 to the power 4 is 625 different numbers. That didn’t require trying them all out.

You can still do that of course, using itertools.product() for example:

from itertools import product

print sum(1 for combo in product('13579', repeat=4))

because product('13579', repeat=4) will produce all possible combinations of 4 characters from the string of odd digits.

Your code needs to test if all digits are odd; break out early if any digit is not odd:

new_list =[] # A list which holds the numbers
for a in range(1111,10000):
    for b in str(a):
        if int(b) % 2 == 0:
            break
    else:
        # only executed if the loop wasn't broken out of
        new_list.append(a)

You could use the all() function with a generator expression for that test too:

new_list = []
for a in range(1111,10000):
    if all(int(b) % 2 == 1 for b in str(a)):
        new_list.append(a)

which then can be collapsed into a list comprehension:

new_list = [a for a in range(1111,10000) if all(int(b) % 2 == 1 for b in str(a))]

Понравилась статья? Поделить с друзьями:
  • Как найти окончание слова в глаголах
  • Как найти маньяка гта онлайн
  • Как исправить свой косяк перед парнем
  • Как найти площадь боковой поверхности усеченной пирамиды
  • Cos 2pi как найти