Определите количество восьмеричных пятизначных чисел, которые не начинаются с нечётных цифр, не оканчиваются цифрами 2 или 6, а также содержат не более двух цифр 7.
Ответ:
ЕГЭ по информатике Основная волна 07.06.2024 kompege.ru – задание №8
Решение:
|
1 2 3 4 5 6 7 |
from itertools import product k=0 for i in product('01234567',repeat=5): a=''.join(i) if a[0] not in '01357' and a[-1] not in '26' and a.count('7')<=2: k+=1 print(k) |
Объяснение кода:
- Импортирование модуля
itertools:
Python1from itertools import product
Импортируем функциюproductиз модуляitertools, которая позволяет создать декартово произведение входных итерируемых объектов. - Инициализация счетчика:
Python1k = 0
Инициализируем счетчикkдля подсчета подходящих чисел. - Создание всех возможных комбинаций:
Python12for i in product('01234567', repeat=5):a = ''.join(i)
product('01234567', repeat=5)создает все возможные комбинации длиной 5 из цифр восьмеричной системы (‘0’ до ‘7’).Используем
''.join(i)для объединения кортежаiв строкуa. - Проверка условий:
Python12if a[0] not in '01357' and a[-1] not in '26' and a.count('7') <= 2:k += 1
a[0] not in '01357': Проверяем, что первая цифра не является одной из нечётных цифр (0, 1, 3, 5, 7).a[-1] not in '26': Проверяем, что последняя цифра не является 2 или 6.a.count('7') <= 2: Проверяем, что строка содержит не более двух цифр 7.Если все условия выполнены, увеличиваем счетчик
kна 1. - Вывод результата:
Python1print(k)
Выводим значение счетчика
k, которое показывает количество подходящих чисел.
Итог:
Этот код генерирует все возможные пятизначные восьмеричные числа, проверяет, соответствуют ли они заданным условиям, и подсчитывает количество таких чисел.
Ответ: 9135