(И. Карпачёв) У исполнителя имеются две команды, которые обозначены латинскими буквами:
Первая команда увеличивает число на экране на \(6.\) Вторая команда уменьшает число на экране на \(5\) (отрицательные числа допускаются). Сколько различных чисел можно получить из числа \(10\) с помощью программы, которая содержит ровно \(12\) команд, при условии, что траектория программы ни разу не проходит через число, содержащее цифру \(7?\)
Решение:
Python
def calc(arr):
tmp = [x + 6 for x in arr] + [x - 5 for x in arr]
return [x for x in tmp if '7' not in str(x)]
def bfs(arr, step):
if step == 12:
return set(arr)
return bfs(calc(arr), step+1)
print(len(bfs([10], 0)))
Ответ: \(9\)
Эффективно готовьтесь к ЕГЭ по информатике с новым тренажёром, эмулирующем работу станции КЕГЭ, которая используется на реальном экзамене