Посчитать четные и нечетные цифры числа
Определить, сколько в числе четных цифр, а сколько нечетных. Число вводится с клавиатуры.
Решение задачи на языке программирования 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: , odd: ')
65439 Even: 2, odd: 3
Кроме чисто математического подхода в 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 . В иных случаях — ложь.
X Скрыть Наверх
Решение задач на Python
Сколько четных цифр встречается в этой записи
1. В магазине продаются чашки пяти видов и блюдца трех видов. Сколькими способами можно выбрать себе чашку и блюдце?
Решение. Чашку можно выбрать пятью способами. Для каждого способа выбрать чашку есть 3 способа выбрать блюдце, потому что выбор блюдца не зависит от выбора чашки. То есть, всего 5 · 3 = 15 способов.
2. В магазине продаются чашки пяти видов, блюдца трех видов и ложки четырех видов. Сколькими способами можно выбрать себе а) чашку, блюдце и ложку; б) два разных предмета?
Решение. а) 5 · 3 · 4 = 60;
б) 5·3 + 3·4 + 5·4 = 15 + 12 + 20 = 47
3. Сколько существует четырехзначных чисел, в записи которых встречаются а) только четные цифры; б) по меньшей мере одна четная цифра?
Указание. а) Сколько цифр чётны? На каждом из 4 мест в числе может быть любая из этих цифр (кроме как на первом месте в числе не может стоять 0).
б) Проще посчитать количество всех четырёхзначных чисел и количество чисел, не удовлетворяющих условию задачи.
Ответ. a) 500
б) 525
Решение. а) 4 · 5 · 5 · 5 = 2 · 5 · 2 · 5 · 5 = 10 · 10 · 5 = 500
б) Четырёхзначных чисел всего 9999 — 1000 + 1 = 9000. Числа, не удовлетворяющие условию задачи, состоят только из нечётных цифр, то есть на каждом из 4 мест в числе должна стоять одна из 5 нечётных цифр (1, 3, 5, 7, 9). Выбрать первую цифру можно 5 способами, для каждого из которых есть по 5 способов выбрать вторую цифру, для каждого из которых есть по 5 способов выбрать третью цифру и по 5 способов выбрать четвёртую цифру, то есть всего 5 · 5 · 5 · 5 = 125 · 5 = (100 + 25) · 5 = 100 · 5 + 25 · 5 = 500 + 125 = 625 способов.
4. Монету бросают трижды. Сколько различных последовательностей орлов и решек может при этом получиться?
Решение. При каждом бросании может быть 2 варианта. То есть, при первом бросании 2 случая, на каждый из них по 2 подслучая (всего 2 · 2 = 4 подслучая), на каждый из подслучаев ещё по 2 подподслучая. Всего будет 2·2·2 = 8 вариантов.
5. Каждую клетку квадратной таблицы 2×2 покрасили в черный или белый цвет. Сколько существует различных раскрасок этой таблицы?
Решение. В каждой из 2х2 = 4 клеток может быть 2 варианта раскраски. То есть, есть 2 варианта раскраски первой клетки, на каждый из них есть по 2 подварианта раскраски второй клетки, на каждый из них по 2 подварианта для третьей и так же для четвёртой клетки. Всего 2·2·2·2 = 16 вариантов.
6. Алфавит племени Мумбо-Юмбо состоит из букв А и У. Словом считается любая последовательность, состоящая не более, чем из 5 букв. Сколько слов в словаре Мумбо-Юмбо?
Указание. Сложите количества таких последовательностей из 5 букв, из 4 букв, из 3 букв и так далее.
7. В футбольной команде 11 человек. Сколькими способами можно выбрать а) капитана и заместителя; б) двоих нападающих?
Ответ. а) 110
б) 55
Указание. В пункте а) есть разница в порядке выбора, а в пункте б) — нет. (См. задачи из дополнительного листка)
8. Сколькими способами можно поставить на шахматную доску а) черную и белую ладьи; б) черного и белого королей так, чтобы они не били друг друга? (Ладьи бьют все клетки на своей горизонтали и на своей вертикали, а короли бьют все соседние со своей клетки, в том числе по диагонали.)
Ответ. а) 3136
б) 3612
Указание. Поставьте на доску сначала одну фигуру. Сколькими способами это можно сделать? Затем для каждого из этих способов посчитайте, сколькими подспособами можно поставить на доску другую фигуру так, чтобы они не били друг друга.
Указание 2. В пункте б) рассмотрите 3 разных случая в зависимости от количества клеток, на которые можно поставить второго короля.
а) Поставим сначала чёрную ладью. Это можно сделать 8 · 8 = 64 способами. Чтобы белая ладья её не била, надо поставить её в другие горизонталь и вертикаль, то есть свободных для неё горизонталей будет 8 — 1 = 7, и вертикалей тоже 8 — 1 = 7. То есть, поставить белую ладью при уже поставленной чёрной можно 7 · 7 = 49 способами. Так как на каждый из 64 способов поставить чёрную ладью будет 49 способов поставить белую, то всего способов поставить обе будет 64 · 49 = 3136.
б) Поставим сначала чёрного короля. Сколько способов тогда останется для постановки белого? Рассмотрим разные случаи:
Если чёрный король стоит в углу доски, то белого нельзя ставить на 4 клетки, то есть можно поставить на одну из 8·8 — 4 = 60 клеток. Углов в доске 4, то есть таких случаев, когда чёрный король стоит в углу, а белый его не бьёт, 4 · 60 = 240.
Дальше, если чёрный король стоит с краю доски (не в углу), то белого нельзя ставить на 6 клеток, то есть можно ставить на 64 — 6 = 58 клеток. На каждой из 4 сторон доски есть 8 — 2 = 6 клеток, где чёрный король будет стоять с краю, но не в углу, то есть всего таких вариантов растановки обоих королей будет 4 · 6 · 58 = 1392.
Наконец, если чёрный король стоит на внутренней клетке доски (они образуют квадрат со стороной 8 — 2 = 6, поэтому внутренних клеток будет 6 · 6 = 36), то белого можно поставить на одну из 64 — 9 = 55 клеток. Всего вариантов расстановки, где чёрный король стоит на внутренней клетке, будет 36 · 55 = 1980.
Итак, всего подходящих вариантов будет 240 + 1392 + 1980 = (200 + 40) + (1400 — 8) + (2000 — 20) = 1600 + 2000 + (40 — 20 — 8) = 3600 + 12 = 3612
9. У Насти есть 4 разноцветных фишки. Сколькими способами она может выложить их в ряд?
10. Сколько существует пятизначных чисел, в записи которых встречаются только нечетные цифры, причем каждая цифра встречается ровно один раз?
Решение. Нечётных цифр всего пять: 1, 3, 5, 7, 9. На первом месте может стоять одна из 5 цифр, на втором — любая из пяти, кроме первой, то есть любая из 4 цифр, на третьем — любая из пяти, кроме двух уже использованных, то есть любая из 3 цифр, и так далее. Значит, всего 5 · 4 · 3 · 2 · 1 = 5! = 120 таких чисел.
11. Каких семизначных чисел больше — тех, в записи которых есть цифра 1, или тех, в записи которых ее нет?
Указание. Количество чисел с 1 можно не искать: легче найти количество чисел, где нет 1: они просто состоят из остальных цифр, и сравнить его с половиной от количества всех семизначных чисел. Не забудьте, что число не может начинаться с цифры 0.
- ЗАДАЧИ
- 5 класс
- Плюс-минус один
- Обратный ход
- Посчитай-ка
- Скобки и знаки
- Рыцари и лжецы
- Движение
- Движение (доп. задачи)
- Факториал
- Комбинаторика (доп. задачи)
- Математическая абака
- Комбинаторика
- Козы
- Переливания
- Предновогодний Оливье
- Математическая карусель
- Всюду идут дороги
- Разные задачи
- Разрезалки
- Круги Эйлера
- Принцесса или тигр
- Магические фигуры
- Двумя способами
- Конструкции
- ЗАДАЧИ
- ауд. П3 (рук. Л. А. Попов)
| Вы видите ошибку? Выделите её и нажмите Ctrl+Enter! | | | |
Задание 8 ЕГЭ (8.18) где найти сколько существует четырехзначных чисел, записанных в 16 системе счисления
![]()
Самый старший разряд не может быть равен 0 (поэтому 7 цифр из 8 возможных), так как разряд просто потеряется, и число станет трехзначным). Каждый последующий разряд включает на одну цифру меньше, так как по заданию цифры не могут повторяться.
2) с нечетной цифры: 8 8 7 7 = 8 * 8 * 7 * 7 = 3136 н ч н ч
Каждый последующий разряд включает на одну цифру меньше, так как по заданию цифры не могут повторяться.
2744 + 3136 = 5880
Ответ: 5880
Решение на питоне модуля 8.1, 8.2 из курса «Поколение python» stepik.org
Полное решение и ответы на питоне на модули (итоговую работу) 8.1, 8.2 из курса «Поколение python: курс для начинающих» с сайта stepik.org. Предыдущий модуль перед 8 – 7.9.
Какую последовательность чисел даст вам вызов функции range(6) ?
0, 1, 2, 3, 4, 5
Какую последовательность чисел даст вам вызов функции range(2, 6) ?
2, 3, 4, 5
Какую последовательность чисел даст вам вызов функции range(0, 501, 100) ?
0, 100, 200, 300, 400, 500
Какую последовательность чисел даст вам вызов функции range(10, 5, -1) ?
10, 9, 8, 7, 6
Определите, что выведет следующий фрагмент кода?
for i in range(10, 25):
print(‘Python awesome!’)
15 раз Python awesome! на каждой строке -- ответ Пояснение: Все верно, ведь последний раз в цикл зайдем при i = 24. Тогда кол-во итераций цикла равно 24-10+1
Определите какую задачу решает следующий фрагмент кода:
n = int(input())
counter = 0
for i in range(1, n + 1):
if i % 3 == 0 and i % 7 != 0:
counter += 1
print(counter)
выводит количество чисел от 1 до n кратных 3, но не кратных 7
Cоберите программу, вычисляющую сумму чисел от 11 до введенного натурального числа nn
n = int(input()) total = 0 for i in range(1, n + 1): total += i print(total)
Какое число нужно написать вместо многоточия, чтобы цикл выполнился ровно 7 раз?
i = …
while i print (‘Python!’)
i += 1
Определите какую задачу решает следующий фрагмент кода:
n = int(input())
res = 1
i = 2
while i res *= i
i += 1
print(res)
выводит факториал числа n
Определите какую задачу решает следующий фрагмент кода:
n = int(input())
i = 2
while n % i != 0:
i += 1
print(i)
выводит минимальный делитель числа, отличный от единицы
Cоберите программу, вычисляющую сумму цифр введенного натурального числа.
n = int(input()) total = 0 while n != 0: last_digit = n % 10 total += last_digit n //= 10 print(total)
Соберите программу, вычисляющую количество цифр введенного натурального числа.
Примечание. Сначала увеличьте счетчик.
n = int(input()) counter = 0 while n > 0: counter += 1 n //= 10 print(counter)

Ревью кода — 7 ?️
На обработку поступает натуральное число. Нужно написать программу, которая выводит на экран сумму чётных цифр этого числа или 0, если чётных цифр в записи нет. Программист торопился и написал программу неправильно.
Найдите все ошибки в этой программе (их может быть одна или несколько). Известно, что каждая ошибка затрагивает только одну строку и может быть исправлена без изменения других строк.
# Получаем ввод числа n = int(input()) s = 0 # Инициализируем переменную для суммы # Пока n больше нуля, выполняем цикл while n > 0: if n % 2 == 0: # Проверяем, является ли текущая цифра четной s += n % 10 # Если да, добавляем её к сумме n //= 10 # Убираем последнюю цифру из числа # Выводим сумму четных цифр print(s)

Ревью кода — 8 ?️
На обработку поступает последовательность из 8 целых чисел. Известно, что вводимые числа по абсолютной величине не превышают 10^6106. Нужно написать программу, которая выводит на экран количество делящихся нацело на 4 чисел в исходной последовательности и максимальное делящееся нацело на 4 число. Если делящихся нацело на 4 чисел нет, требуется на экран вывести «NO». Программист торопился и написал программу неправильно.
Найдите все ошибки в этой программе (их может быть одна или несколько). Известно, что каждая ошибка затрагивает только одну строку и может быть исправлена без изменения других строк.
n = 8 # n = 7, по условию чисел 8 count = 0 maximum = -10**6 - 1 # maximum = 1000, все случаи, когда все числа меньше 1000, обрабатываются неверно for i in range(1, n + 1): x = int(input()) if x % 4 == 0: # x // 4 == 0, по условию нужно найти числа, дел. на 4 без остатка count += 1 if x > maximum: # if x < maximum, если число больше максимума, оно его заменяет, не если меньше максимума maximum = x if count >0: print(count) print(maximum) else: print('NO')

Ревью кода — 9
На обработку поступает последовательность из 4 целых чисел. Известно, что вводимые числа по абсолютной величине не превышают 10^6106. Нужно написать программу, которая выводит на экран количество нечётных чисел в исходной последовательности и максимальное нечётное число. Если нечётных чисел нет, требуется на экран вывести «NO». Программист торопился и написал программу неправильно.
Найдите все ошибки в этой программе (их может быть одна или несколько). Известно, что каждая ошибка затрагивает только одну строку и может быть исправлена без изменения других строк.
count = 0 # Инициализируем счетчик чисел, не удовлетворяющих условию maximum = -1 # Инициализируем переменную для максимального нечетного числа for i in range(4): # Запускаем цикл, который выполнится 4 раза (i от 0 до 3) x = int(input()) # Получаем число и сохраняем в переменную x if x % 2 != 0: # Проверяем, является ли x нечетным (остаток от деления на 2 не равен 0) count += 1 # Если x нечетное, увеличиваем счетчик на 1 if x > maximum: # Если x больше текущего максимального нечетного числа maximum = x # Обновляем значение максимального нечетного числа if count > 0: # Проверяем, были ли найдены нечетные числа (счетчик больше 0) print(count) # Выводим количество нечетных чисел print(maximum) # Выводим максимальное нечетное число else: print('NO') # Если нечетных чисел не найдено, выводим 'NO'

Звездная рамка
На вход программе подается натуральное число n. Напишите программу, которая печатает звездную рамку размерами n×19.
n = int(input()) # Получаем количество строк (высоту) прямоугольника for i in range(1, n + 1): # Проходим по строкам от 1 до n включительно if i == 1 or i == n: # Если текущая строка является первой или последней строки print('*' * 19) # Выводим строку из 19 символов '*' else: # В противном случае (для внутренних строк) выводим строку из одной '*' слева и 17 пробелов и одной '*' справа print('*' + ' ' * 17 + '*')

Третья цифра
Дано натуральное число n (n>99). Напишите программу, которая определяет его третью (с начала) цифру.
n = int(input()) # Запрашиваем у пользователя ввод числа while n > 999: # Пока число больше 999 (имеет более 3 цифр), убираем последнюю цифру n //= 10 print(n % 10) # Выводим последнюю цифру числа n (остаток от деления на 10)

Все вместе 2
Дано натуральное число. Напишите программу, которая вычисляет:
количество цифр 3 в нем;
сколько раз в нем встречается последняя цифра;
количество четных цифр;
сумму его цифр, больших пяти;
произведение цифр, больших семи (если цифр больших семи нет, то вывести 1, если такая цифра одна, то вывести ее);
сколько раз в нем встречается цифры 0 и 5 (всего суммарно).
n = int(input()) # Получаем ввод числа count3 = 0 # Инициализируем счетчик цифр 3 countLast = 0 # Инициализируем счетчик цифр, равных последней цифре countChet = 0 # Инициализируем счетчик четных цифр sumBig5 = 0 # Инициализируем сумму цифр, больших 5 multyBig7 = 1 # Инициализируем произведение цифр, больших 7 count05 = 0 # Инициализируем счетчик цифр 0 и 5 last = n % 10 # Получаем последнюю цифру числа n while n > 0: x = n % 10 # Получаем текущую цифру числа n if x == 3: count3 += 1 # Если цифра равна 3, увеличиваем счетчик цифр 3 if x == last: countLast += 1 # Если цифра равна последней цифре, увеличиваем счетчик таких цифр if x % 2 == 0: countChet += 1 # Если цифра четная, увеличиваем счетчик четных цифр if x > 5: sumBig5 += x # Если цифра больше 5, добавляем её к сумме if x > 7: multyBig7 *= x # Если цифра больше 7, умножаем её на произведение if x == 0 or x == 5: count05 += 1 # Если цифра равна 0 или 5, увеличиваем счетчик таких цифр n //= 10 # Удаляем последнюю цифру из числа # Выводим результаты print(count3) print(countLast) print(countChet) print(sumBig5) print(multyBig7) print(count05)
Решение на питоне выставлено для самопроверки сданного задания на степике в модуле 8.1 и 8.2. Я не приветствую списывание и за честное выполнение заданий. Особенно итоговой работы на знание python.
Если у вас не отображается решение последних задач, значит у вас включен блокировщик рекламы который вырезает эти ответы