Задание 23. Информатика. ЕГЭ. Шастин. 29.08.2024

Просмотры: 325
Изменено: 24 ноября 2024

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

A. Прибавить 3
B. Прибавить 4

Программа для исполнителя – это последовательность команд. Сколько существует программ, которые преобразуют число \(16\) в число \(38\), и при этом траектория вычислений не содержит числа \(22\)?

Траектория вычислений программы – это последовательность результатов выполнения всех команд программы. Например, для программы \(BAB\) при исходном числе \(7\) траектория состоит из чисел \(11\), \(14\), \(18\).

Решение:

C++


#include<iostream>

using namespace std;

int f(int n, int t, int d) {
    if (n > t || n == d)
        return 0;
    else if(n == t)
        return 1;
    return f(n + 3, t, d) + f(n + 4, t, d);
}

int32_t main() {
    cout << f(16, 38, 22) << '\n';
}

Ответ: \(16\)