В конце статьи есть тестирование

В конце статьи есть тестирование по этой теме

Счетчик просмотров51

РЕШЕНИЕ 23 НОМЕРА (3/3)

Оглавление
Условие задачиИдея решенияКод решения
Задача

Условие задачи

Исполнитель преобразует число на экране. У исполнителя есть четыре команды:

1. Прибавить 1

2. Прибавить 2

3. Умножить на 2

4. Умножить на 3

Программа — это последовательность команд. Например, если в начальный момент на экране находится число 1, то программа 213 последовательно преобразует его в 3, 4, 8.

Сколько существует программ, которые преобразуют исходное число 1 в число 24 и при этом не содержат двух последовательных команд сложения и двух последовательных команд умножения?

Баннер статьи

Идея решения

Передаём в рекурсивную функцию строку k - запись всех команд, которые были (+  для сложения, * для умножения). На каждом шаге проверяем: если в конце строки появилось ++ или ** - это нарушение, возвращаем 0. Условие проверяется и при завершении (достижении цели), и на каждом промежуточном шаге.

Код решения

PYTHON-КОД
1
2
3
4
5
6
7
8
9
10
11

Ответ: 9

"++" not in k and "**" not in k: - таким способом мы можем проверять, что подстроки "++" нет в нашей записи ходов (переменная k) и также одновременно будет выполняться, что подстроки "**" также нету в k

Решите задачи, чтобы усвоить материал

Решить в Личном Кабинете
Количество программ → Исполнитель

Исполнитель преобразует число на экране. У исполнителя есть две команды, которые обозначены латинскими буквами:
A. Прибавь 1
B. Измени цифру
Первая из этих команд увеличивает число на экране на 1. Вторая команда применяется только к числу, у которого в записи присутствует хотя бы одна цифра 1, и действует, заменяя число на экране числом, в котором каждая цифра 1 заменена на цифру 3.
Программа для исполнителя - это последовательность команд.
Сколько существует программ, для которых при исходном числе 11 результатом является число 94?
Траектория вычислений программы - это последовательность результатов выполнения всех команд программы.
Например, для программы АВА при исходном числе 13 траектория состоит из чисел 14, 34, 35.

Количество программ → Исполнитель

Исполнитель преобразует число на экране. У исполнителя есть две команды, которые обозначены латинскими буквами:
A. Прибавь 1
B. Измени цифру
Первая из этих команд увеличивает число на экране на 1. Вторая команда применяется только к числу, у которого в записи присутствует хотя бы одна цифра 1, и действует, заменяя число на экране числом, в котором каждая цифра заменена на цифру 3. Программа для исполнителя - это последовательность команд.
Сколько существует программ, для которых при исходном числе 10 результатом является число 84?
Траектория вычислений программы - это последовательность результатов выполнения всех команд программы.
Например, для программы АВА при исходном числе 13 траектория состоит из чисел 14, 34, 35.

Оцените статью

Другие статьи по предмету

Другие статьи не найдены