Задание 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\)