Задание 13 ЕГЭ по информатике · 9A65F5

С обязательным пунктом траекторииВысокаяКЭС 3.1КЭС 3.2
Исполнитель преобразует число на экране.
У исполнителя есть две команды, которым присвоены номера:
1. Вычти 1
2. Найди целую часть от деления на 2

Первая из них уменьшает число на экране на 1, вторая заменяет число на экране на целую часть от деления числа на 2.

Программа для исполнителя — это последовательность команд.

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

Траектория вычислений программы — это последовательность результатов выполнения всех команд программы.

Например, для программы 122 при исходном числе 10 траектория состоит из чисел 9, 4, 2.

Показать ответ
470
Подсказки (3)
  1. Разбейте программу на две части: от 32 до 12 и от 12 до 1.
  2. Для подсчёта числа программ используйте рекуррентное соотношение: количество способов попасть в число равно сумме количеств способов попасть в него командой «Вычти 1» и командой деления на 2.
  3. Из 32 в 12 существует 10 программ, а из 12 в 1 — 47 программ. Общее число равно 10⋅47=470.
Решение
1. Обозначим через f(n) число программ, переводящих число n в число 1. Для числа 1 программа может быть пустой, поэтому f(1)=1.
f(1)=1

2. Для остальных чисел последняя команда может быть либо вычитанием 1, либо целочисленным делением на 2.
f(n)=f(n−1)+f(⌊n/2⌋)

3. Последовательно вычисляя значения, получаем f(12)=47.

4. Теперь считаем число программ, переводящих 32 в 12. Пусть g(n) — число программ из n в 12. При n<12 полагаем g(n)=0, а g(12)=1.
g(n)=g(n−1)+g(⌊n/2⌋)

5. Последовательное вычисление от 13 до 32 даёт g(32)=10.

6. Каждая программа из 32 в 12 может быть независимо продолжена любой программой из 12 в 1.
10⋅47=470
Частые ошибки
  • Не учитывают, что траектория должна содержать число 12.
  • Складывают вместо умножения количество способов пройти два этапа.
  • Забывают учесть пустую программу для перехода из 1 в 1 при рекуррентном подсчёте.

Похожие задания

13У исполнителя есть две команды, которые обозначены латинскими буквами: A. Вычти 2 B. Найди целую часть от…С обязательным пунктом траектории · 8D4E1113У исполнителя есть две команды, которые обозначены латинскими буквами: A. Вычти 1 B. Найди целую часть от…С обязательным пунктом траектории · E3542213У исполнителя есть две команды, которые обозначены латинскими буквами: A. Вычти 1 B. Найди целую часть от…С обязательным пунктом траектории · 20B16313У исполнителя есть две команды, которые обозначены латинскими буквами: A. Вычти 1 B. Найди целую часть от…С обязательным пунктом траектории · ACD638131. Вычти 1 2. Найди целую часть от деления на 2 Первая из них уменьшает число на экране на 1, вторая заменяет…С обязательным пунктом траектории · 43B305131. Вычти 1 2. Найди целую часть от деления на 2 Первая из них уменьшает число на экране на 1, вторая заменяет…С обязательным пунктом траектории · C2EB01131. Вычти 1 2. Найди целую часть от деления на 2 Первая из них уменьшает число на экране на 1, вторая заменяет…С обязательным пунктом траектории · E9000D131. Прибавить 1 2. Умножить на 2 Первая команда увеличивает число на экране на 1, вторая умножает его на 2.…С обязательным пунктом траектории · EC38B4

Нужен репетитор по информатике?

Посмотрите репетиторов, которые ведут занятия в Precettore, или оставьте заявку — подберём сами.

Репетиторы по информатике

Подбор репетитора

Напишите, что нужно, — команда Precettore подберёт репетитора и свяжется с вами.

Готовьтесь к ЕГЭ по информатике в Precettore

Варианты с автопроверкой, домашние задания от репетитора, онлайн-доска и разбор ошибок — в одном кабинете. Регистрация бесплатная.