Присоединиться

11 класс·средний уровень

Например, если в начальный момент на экране находится число 1, то

Условие

Исполнитель преобразует число на экране.У исполнителя есть две команды, которым присвоены номера.1. Прибавить 1.2. Умножить на 2.Первая команда увеличивает число на экране на 1, вторая умножает его на 2.Программа для исполнителя — это последовательность команд. Например, если в начальный момент на экране находится число 1, то программа 212 последовательно преобразует его в 2, 3, 6.Сколько существует программ, которые преобразуют исходное число 1 в число 16 и при этом никакая команда не повторяется более двух раз подряд?

Ответ

Ответ и полный разбор откроются после входа

Посмотреть ответ

Решение по шагам

  1. Как рассуждать

    Решение. Приведём решение на языке Python.def f(start, end, k, c): if start > end: return 0 if start == end: return 1 if start < end: if k == c == '+': return f(start2, end, '', k) elif k == c == '': return f(start + 1, end, '+', k) else: return f(start + 1, end, '+', k) + f(start * 2, end, '',k) print(f(1, 16, '0', '0'))Здесь k и с — переменные, которые отвечают за то, чтобы не повторялись умножение и сложение более двух раз подряд.

Осталось ещё 1 шаг

  1. Приведём решение Ксении Ельцовой на языке…

Получить полное решение

Бесплатно · займёт минуту

Другие задачи по теме «Оператор присваивания и ветвления. Перебор вариантов»

Например, если в начальный момент на экране находится число 1, то — решение с объяснением | Lom Ai