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 как решение Решение
Если стек нельзя.
1 |
0 / 0 / 0 Регистрация: 26.11.2020 Сообщений: 4 |
|
26.11.2020, 09:18 [ТС] |
3 |
Добавлено через 13 минут for (int i = a; i > 0; 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
13.4k1 золотой знак8 серебряных знаков23 бронзовых знака
задан 15 янв 2022 в 10:37
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
BnLvTBnLvT
285 бронзовых знаков
- Введённое значение преобразовать в число при помощи функции
int()
. - Проверять остаток от деления
a % 2 == 0
. - Ну и функцию таки следует вызвать
sum()
.
a = int(input('Введите первое число: '))
def sum():
if a % 2 == 0:
print ('четное число')
else:
print ('Нечетное число')
sum()
P.S. Вообще-то есть встроенная функция с таким именем, так что называя свою так же вы лишаетесь доступа к ней. Так что лучше не называть что-либо стандартными именами.
ответ дан 15 янв 2022 в 10:48
GrAndGrAnd
13.4k1 золотой знак8 серебряных знаков23 бронзовых знака
Посчитать четные и нечетные цифры числа
Просмотров 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
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))]