Помогите найти ошибку в коде Задача ЕГЭ информатика
Задача звучит так: Сколько существует чисел, восьмеричная запись которых состоит из пяти цифр, не начинается с нечётных цифр, не оканчивается цифрами 2 и 6 и содержит не более двух цифр 7? Ответ: 9135 Но у меня ответ 12288, не могу понять почему так, вроде все правильно Вот мой код :
from itertools import *
alphabet = '01234567'
cnt = 0
for i in product(alphabet, repeat=5):
if int(i[0]) % 2 == 0:
if i[-1] != '2' and i[-1] != '6':
if i.count('7') <= 7:
cnt += 1
print(cnt)
Нет, ошибка не потому что при первом условии допускается 0 в начале, проверил, если исключить 0 из цифр, которые могут быть в начале, все равно ответ не сходится
Ответы (2 шт):
Автор решения: MBo
→ Ссылка
if int(i[0]) % 2 == 0 and int(i[0]) > 0:
if i[-1] != '2' and i[-1] != '6':
if i.count('7') <= 2:
cnt += 1
Автор решения: Alex Titov
→ Ссылка
from itertools import product
alphabet = '01234567'
cnt = 0
for i in product(alphabet, repeat=5):
if i[0] in '2468':
if i[-1] not in '26':
if i.count('7') <= 2:
cnt += 1
print(cnt)