Top.Mail.Ru
Ответы

Информатика ЕГЭ 8 задание

Определите количество девятеричных пятизначных чисел, в записи которых ровно одна цифра 0, при этом никакая нечётная цифра не стоит рядом с цифрой 0.
Я написал код:

12345678910
 import itertools
l = list(itertools.product('012345678', repeat=5))
fin = []

for i in l:
    if i[0] != '0' and i.count('0') == 1 and i.count('01') == 0 and i.count('10') == 0 and i.count('03') == 0 and i.count('30') == 0 and i.count('05') == 0 and i.count('50') == 0 and i.count('07') == 0 and i.count('70') == 0:
        fin.append(i)

print(len(fin))
 

Вроде как, он выводит неправильный ответ: 16384. Если это так, то что я конкретно неправильно сделал и как исправить код?

По дате
По рейтингу
Аватар пользователя
4мес

Если 16384 неправильно, то может быть так?
Тут вывод 5120

12345678
 k = 0 
for x in product("012345678", repeat=5): 
    s = "".join(x) 
    for w in "1357": 
        s = s.replace(w, "z") 
    if (s[0] != "0") and (s.count("0") == 1) and ("0z" not in s) and ("z0" not in s): 
        k += 1 
print(k)