Задание 23. Графы. Подсчёт количества программ. ЕГЭ 2026 по информатике

За это задание ты можешь получить 1 балл. На решение дается около 8 минут. Уровень сложности: повышенный.
Средний процент выполнения: 52%
Ответом к заданию 23 по информатике может быть цифра (число) или слово.

Алгоритм решения задания 23:

  1. Прочитай алгоритм и зафиксируй начальные значения переменных.
  2. Определи порядок выполнения команд.
  3. Выполняй алгоритм пошагово, фиксируя изменения после каждой команды.
  4. Если есть условия или циклы, проверяй их выполнение на каждом шаге.
  5. Веди таблицу трассировки для контроля значений переменных.
  6. Доведи выполнение до конца алгоритма.
  7. Сформулируй ответ по полученному результату.

Задачи для практики

Задача 1

У исполнителя Считатель-1 три команды, которым присвоены номера:

1. Прибавь 1

2. Умножь на 2

3. Умножь на 3

Первая из них увеличивает число на экране на 1, вторая - в 2 раза, третья - в 3 раза. Программа для исполнителя Считатель-1 - это последовательность команд.

Сколько существует программ, которые число 5 преобразуют в число 18?

Решение

Будем считать количество программ постепенно для каждого числа слева направо по следующему принципу:

Если число А можно получить с помощью X программ из начального значения, число B можно получить с помощью Y программ из начального значения, а с помощью одной любой команды из условия число C можно получить только из чисел A и B, то количество программ, с помощью которых можно получить число C из начального значения, равно X + Y.

Таблица, отображающая количество программ для каждого отдельного числа, вычисленная по данному правилу:

Число 5 6 7 8 9 10 11 12 13 14 15 16 17 18
Кол-во программ 1 1 1 1 1 2 2 3 3 4 5 6 6 8

Ответ: 8.

Ответ: 8
Показать решение
Бесплатный интенсив

Задача 2

У исполнителя Считатель-1 две команды, которым присвоены номера:

1. Прибавь 1

2. Умножь на 2

Первая из них увеличивает число на экране на 1, вторая - в 2 раза. Программа для исполнителя Считатель-1 - это последовательность команд.

Сколько существует программ, которые число 1 преобразуют в число 25, траектория вычислений которых не проходит через число 9? Траектория вычислений - множество чисел, через которые проходила конкретная программа для получения одного числа из другого.

Решение

Будем считать количество программ постепенно для каждого числа слева направо по следующему принципу:

Если число А можно получить с помощью X программ из начального значения, число B можно получить с помощью Y программ из начального значения, а с помощью одной любой команды из условия число C можно получить только из чисел A и B, то количество программ, с помощью которых можно получить число C из начального значения, равно X + Y.

Таблица, отображающая количество программ для каждого отдельного числа, вычисленная по данному правилу:

Число 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
Кол-во программ 1 2 2 4 4 6 6 10 0 4 4 10 10 16 16 26 26 26 26 30 30 34 34 44 44


Поиск ответа при помощи программы на С++:

#include <iostream>
using namespace std;

int main(){
const int n0 = 1, nk = 25;
int arr[nk + 1];
for (int i = 0; i < nk + 1; ++i) arr[i] = 0;
arr[n0] = 1;
for (int n = n0 + 1; n <= nk; ++n) {
if (n - 1 >= n0) arr[n] = arr[n - 1]; // Kn-1
if (n % 2 == 0 && (n / 2) >= n0) //K(n / 2)
arr[n] += arr[n / 2];
if (n == 9)
arr[n] = 0;
}
cout << arr[nk];
return 0;
}

Ответ: 44

Ответ: 44
Показать решение
Бесплатный интенсив

Задача 3

У исполнителя A2M5 две команды, которым присвоены номера:

1. Прибавь 2

2. Умножь на 5

Первая из них увеличивает данное число на 2, вторая - увеличивает его в 5 раз. Программа для исполнителя A2M5 - это последовательность команд.

Определите количество программ, которые число 1 преобразуют в число 31.

Решение

Заметим, что все числа, получаемые с помощью заданных команд из числа 1, нечётные. Будем решать поставленную задачу последовательно для чисел 1, 3, 5, . . . , 31 (то есть для каждого нечётного числа определим, сколько программ исполнителя существует для его получения). Количество программ, которые преобразуют число 1 в число n, будем обозначать через R(n). Будем считать, что R(1) = 1. Для каждого следующего числа рассмотрим, из какого числа оно может быть получено за одну команду исполнителя. Если число не делится на 5, то оно может быть получено только из предыдущего с помощью команды прибавь 2. Значит, количество искомых программ для такого числа равно количеству программ для предыдущего числа: R(i) = R(i - 2), i - нечётное. Если число на 5 делится, то вариантов последней команды два: прибавь 2 и умножь на 5, тогда R(i) = R(i-2)+R(i=5), i - нечётное. Заполним соответствующую таблицу по приведённым формулам слева направо:

1 3 5 7 9 11 13 15 17 19 21 23 25 27
1 1 2 2 2 2 2 3 3 3 3 3 5 5
29 31                  
5 5                  

Ответ: 5.

Ответ: 5
Показать решение
Бесплатный интенсив

Задача 4

У исполнителя X123 три команды, которым присвоены номера:

1. Прибавь 1

2. Прибавь 2

3. Умножь на 3

Первая из них увеличивает число на экране на 1, вторая - на 2, а третья - в 3 раза. Программа для исполнителя X123 - это последовательность команд.

Сколько существует программ, которые число 1 преобразуют в число 10?

Решение

Будем решать поставленную задачу последовательно для чисел 1, 2, 3, . . . , 10 (то есть для каждого из чисел определим, сколько программ исполнителя существует для его получения). Количество программ, которые преобразуют число 1 в число n, будем обозначать через R(n). Число 2 из числа 1 можно получить с помощью команды 1 (также будем считать, что R(1) = 1). Для каждого следующего числа i рассмотрим, из какого числа оно может быть получено за одну команду исполнителя. Если число i не делится на 3, то оно может быть получено либо из i - 1-го с помощью команды прибавь 1, либо из числа i - 2-го с помощью команды прибавь 2. Значит, количество искомых программ для такого числа равно количеству программ для i-1-го и i-2-го чисел:R(i) = R(i-1)+R(i-2). Если число на 3 делится, то вариантов последней команды три: прибавь 1, прибавь 2 и умножь на 3, следовательно, R(i) = R(i-1)+R(i-2)+R(i/3). Заполним соответствующую таблицу по приведенным формулам слева направо:

1 2 3 4 5 6 7 8 9 10
1 1 3 4 7 12 19 31 53 84

Ответ: 84.

Ответ: 84
Показать решение
Бесплатный интенсив

Задача 5

У исполнителя Считатель-1 три команды, которым присвоены номера:

1. Прибавь 2

2. Умножь на 2

3. Умножь на 4

Первая из них увеличивает число на экране на 2, вторая - в 2 раза, третья - в 4 раза. Программа для исполнителя Считатель-1 - это последовательность команд.

Сколько существует программ, которые число 2 преобразуют в число 48?

Решение

Будем считать количество программ постепенно для каждого числа слева направо по следующему принципу:

Если число А можно получить с помощью X программ из начального значения, число B можно получить с помощью Y программ из начального значения, а с помощью одной любой команды из условия число C можно получить только из чисел A и B, то количество программ, с помощью которых можно получить число C из начального значения, равно X + Y.

Заметим, что из числа 2 с помощью команд "Прибавь 2", "Умножь на 2" и "Умножь на 4" невозможно получить нечётное число, т.к. чётное +2 = чётное и чётное *любое = чётное. В таблице будем отображать только чётные числа.

Таблица, отображающая количество программ для каждого отдельного числа, вычисленная по данному правилу:

Число 2 4 6 8 10 12 14 16 18 20 22 24
Кол-во программ 1 2 2 5 5 7 7 14 14 19 19 28
Число 26 28 30 32 34 36 38 40 42 44 46 48
Кол-во программ 28 35 35 54 54 68 68 92 92 111 111 146

Ответ: 146.

Ответ: 146
Показать решение
Бесплатный интенсив

Задача 6

У исполнителя Считатель-1 две команды, которым присвоены номера:

1. Прибавь 1

2. Умножь на 2

Первая из них увеличивает число на экране на 1, вторая - в 2 раза. Программа для исполнителя Считатель-1 - это последовательность команд.

Сколько существует программ, которые число 1 преобразуют в число 26, у которых траектория вычислений проходит через число 10? Траектория вычислений - множество чисел, через которые проходила конкретная программа для получения одного числа из другого.

Решение

Будем считать количество программ постепенно для каждого числа слева направо по следующему принципу:

Если число А можно получить с помощью X программ из начального значения, число B можно получить с помощью Y программ из начального значения, а с помощью одной любой команды из условия число C можно получить только из чисел A и B, то количество программ, с помощью которых можно получить число C из начального значения, равно X + Y.

Таблица, отображающая количество программ для каждого отдельного числа, вычисленная по данному правилу:

Число 1 2 3 4 5 6 7 8 9 10
Кол-во программ 1 2 2 4 4 6 6 10 10 14

После числа 10 нельзя пользоваться теми значениями, которые были до числа 10. Поэтому дальнейшая таблица имеет вид:

Число 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
Кол-во программ 0 0 0 0 0 0 0 0 0 14 14 14 14 14 14 14 14 14 14 28 28 42 42 56 56 70

Ответ: 70.

Ответ: 70
Показать решение
Бесплатный интенсив

Задача 7

У исполнителя Считатель-1 две команды, которым присвоены номера:

1. Прибавь 1

2. Умножь на 2

Первая из них увеличивает число на экране на 1, вторая - в 2 раза. Программа для исполнителя Считатель-1 - это последовательность команд.

Сколько существует программ, которые число 1 преобразуют в число 21, траектория вычислений которых не проходит через число 15? Траектория вычислений - множество чисел, через которые проходила конкретная программа для получения одного числа из другого.

Решение

Будем считать количество программ постепенно для каждого числа слева направо по следующему принципу:

Если число А можно получить с помощью X программ из начального значения, число B можно получить с помощью Y программ из начального значения, а с помощью одной любой команды из условия число C можно получить только из чисел A и B, то количество программ, с помощью которых можно получить число C из начального значения, равно X + Y.

Таблица, отображающая количество программ для каждого отдельного числа, вычисленная по данному правилу:

Число 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
Кол-во программ 1 2 2 4 4 6 6 10 10 14 14 20 20 26 0 10 10 20 20 34 34

Ответ: 34

Ответ: 34
Показать решение
Бесплатный интенсив

Задача 8

У исполнителя Считатель-1 три команды, которым присвоены номера:

1. Прибавь 2

2. Умножь на 2

3. Умножь на 3

Первая из них увеличивает число на экране на 2, вторая - в 2 раза, третья - в 3 раза. Программа для исполнителя Считатель-1 - это последовательность команд.

Сколько существует программ, которые число 2 преобразуют в число 60, у которых траектория вычислений проходит через число 21? Траектория вычислений - множество чисел, через которые проходила конкретная программа для получения одного числа из другого.

Решение

Из числа 2 с помощью команд "Прибавь 2", "Умножь на 2" и "Умножь на 3" невозможно получить нечётное число, т.к. чётное +2 = чётное и чётное *любое = чётное. Следовательно, число 21 получить невозможно, а значит и траектория не может пройти через это число

Ответ: 0.

Ответ: 0
Показать решение
Бесплатный интенсив

Задача 9

У исполнителя Считатель-1 три команды, которым присвоены номера:

1. Прибавь 1

2. Прибавь предыдущее

3. Прибавь следующее

Первая из них увеличивает число на экране на 1, вторая - прибавляет к текущему числу на единицу меньшее натуральное число, третья - прибавляет к текущему числу на единицу большее натуральное число. Программа для исполнителя Считатель-1 - это последовательность команд.

Сколько существует программ, которые число 1 преобразуют в число 33, причём траектория вычислений не проходит через число 7 и 14, но проходит через число 12? Траектория вычислений - множество чисел, через которые проходила конкретная программа для получения одного числа из другого.

Решение

Будем считать количество программ постепенно для каждого числа слева направо по следующему принципу:

Если число А можно получить с помощью X программ из начального значения, число B можно получить с помощью Y программ из начального значения, а с помощью одной любой команды из условия число C можно получить только из чисел A и B, то количество программ, с помощью которых можно получить число C из начального значения, равно X + Y.

Таблица, отображающая количество программ для каждого отдельного числа, вычисленная по данному правилу:

Число 1 2 3 4 5 6 7 8 9 10 11 12
Кол-во программ 1 1 3 3 7 7 0 0 10 10 24 24

После числа 12 нельзя пользоваться теми значениями, которые были до числа 12. Поэтому дальнейшая таблица имеет вид:

Число 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33
Кол-во программ 24 0 0 0 0 0 0 0 0 0 24 24 72 72 96 96 96 96 96 96 96

Вычисление результата при помощи программы на С++:

#include <iostream>
using namespace std;

int main(){
const int n0 = 1, nk = 33;
int arr[nk + 1];
for (int i = 0; i < nk + 1; ++i) arr[i] = 0;
arr[n0] = 1;
for (int n = n0 + 1; n <= nk; ++n) {
arr[n] = arr[n - 1]; // Kn-1
if (n % 2 != 0 && (n - 1) / 2 >= n0) //K(n - 1)/2
arr[n] += arr[(n - 1) / 2];
if (n % 2 != 0 && (n + 1) / 2 >= n0) //K(n + 1)/2
arr[n] += arr[(n + 1) / 2];
if (n == 7 || n == 14)
arr[n] = 0;
if (n == 12)
for (int i = n - 1; i >=0 ; --i)
arr[i] = 0;
}
cout << arr[nk];
return 0;
}

Ответ: 96.

Ответ: 96
Показать решение
Бесплатный интенсив

Задача 10

У исполнителя Считатель-1 три команды, которым присвоены номера:

1. Прибавь 1

2. Прибавь предыдущее

3. Прибавь следующее

Первая из них увеличивает число на экране на 1, вторая - прибавляет к текущему числу на единицу меньшее число, третья - прибавляет к текущему числу на единицу большее число. Программа для исполнителя Считатель-1 - это последовательность команд.

Сколько существует программ, которые число 3 преобразуют в число 28, причём траектория вычислений не проходит через число 10? Траектория вычислений - множество чисел, через которые проходила конкретная программа для получения одного числа из другого.

Решение

Будем считать количество программ постепенно для каждого числа слева направо по следующему принципу:

Если существует Х программ для получения числа А из начального значения и Y программ для числа B, а число C можно получить только из чисел A и B, то количество программ, с помощью которых можно получить число C из начального значения, равно X + Y.

Таблица, отображающая количество программ для каждого отдельного числа, вычисленная по данному правилу:

Число 3 4 5 6 7 8 9 10 11 12 13 14 15
Кол-во программ 1 1 2 2 4 4 7 0 4 4 10 10 18
Число 16 17 18 19 20 21 22 23 24 25 26 27 28
Кол-во программ 18 29 29 36 36 40 40 48 48 62 62 82 82

Например, рассмотри как было получено количество программ для числа 5:
1) можем ли мы получить 5, прибавив единицу? Да, из числа 4
2) можем ли мы получить 5, прибавив предыдущее? Да, начальное значение = 3, для него «предыдущим» считается 2. 3 + 2 = 5
3) можем ли мы получить 5, прибавив следующее? Нет, поскольку начальное значение = 3, а для него «следующее» это 4 и их сумма = 7


Ответ: 82.

Ответ: 82
Показать решение
Бесплатный интенсив

Задача 11

У исполнителя Считатель-1 три команды, которым присвоены номера:

1. Прибавь 1

2. Умножь на 2

3. Умножь на 3

Первая из них увеличивает число на экране на 1, вторая - в 2 раза, третья - в 3 раза. Программа для исполнителя Считатель-1 - это последовательность команд.

Сколько существует программ, которые число 2 преобразуют в число 27, у которых траектория вычислений проходит через число 10? Траектория вычислений - множество чисел, через которые проходила конкретная программа для получения одного числа из другого.

Решение

Будем считать количество программ постепенно для каждого числа слева направо по следующему принципу:

Если число А можно получить с помощью X программ из начального значения, число B можно получить с помощью Y программ из начального значения, а с помощью одной любой команды из условия число C можно получить только из чисел A и B, то количество программ, с помощью которых можно получить число C из начального значения, равно X + Y.

Таблица, отображающая количество программ для каждого отдельного числа, вычисленная по данному правилу:

Число 2 3 4 5 6 7 8 9 10
Кол-во программ 1 1 2 2 4 4 6 7 9

После числа 10 нельзя пользоваться теми значениями, которые были до числа 10. Поэтому дальнейшая таблица имеет вид:

Число 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
Кол-во программ 9 9 9 9 9 9 9 9 9 9 18 18 27 27 36 36 45 45

Ответ: 45

Ответ: 45
Показать решение
Бесплатный интенсив

Задача 12

У исполнителя A2M5 две команды, которым присвоены номера:

1. Прибавь 2

2. Умножь на 5

Первая из них увеличивает данное число на 2, вторая - увеличивает его в 5 раз. Программа для исполнителя A2M5 - это последовательность команд.

Определите количество программ, которые число 1 преобразуют в число 27.

Решение

Заметим, что все числа, получаемые с помощью заданных команд из числа 1, нечётные. Будем решать поставленную задачу последовательно для чисел 1, 3, 5, . . . , 27 (то есть для каждого нечётного числа определим, сколько программ исполнителя существует для его получения). Количество программ, которые преобразуют число 1 в число n, будем обозначать через R(n). Будем считать, что R(1) = 1. Для каждого следующего числа рассмотрим, из какого числа оно может быть получено за одну команду исполнителя. Если число не делится на 5, то оно может быть получено только из предыдущего с помощью команды прибавь 2. Значит, количество искомых программ для такого числа равно количеству программ для предыдущего числа: R(i) = R(i - 2), i - нечётное. Если число на 5 делится, то вариантов последней команды два: прибавь 2 и умножь на 5, тогда R(i) = R(i-2)+R(i=5), i - нечётное. Заполним соответствующую таблицу по приведённым формулам слева направо:

1 3 5 7 9 11 13 15 17 19 21 23 25 27
1 1 2 2 2 2 2 3 3 3 3 3 5 5

Ответ: 5.

Ответ: 5
Показать решение
Бесплатный интенсив

Задача 13

У исполнителя X13 две команды, которым присвоены номера:

1. Прибавь 1

2. Умножь на 3

Первая из них увеличивает число на экране на 1, вторая - в 3 раза. Программа для исполнителя X13 - это последовательность команд.

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

Траектория вычислений программы - это последовательность результатов выполнения всех команд программы. Например, для программы 1211 при исходном числе 2 траектория будет состоять из чисел 3; 9; 10; 11.

Решение

Количество программ, которые число 1 преобразуют в число 34 и при этом траектория вычислений содержит число 11 равно произведению числа программ, которые преобразуют число 1 в число 11 на число программ, преобразующих число 11 в число 34.

Сначала определим количество программ, преобразующих число 1 в 11. Будем решать поставленную задачу последовательно для чисел 1, 2, 3, . . . , 11 (то есть для каждого из этих чисел определим, сколько программ исполнителя существует для его получения).

Количество программ, которые преобразуют число 1 в число n, будем обозначать через R(n). Будем считать, что R(1) = 1. Для каждого следующего числа рассмотрим, из какого числа оно может быть получено за одну команду исполнителя. Если число не делится на 3, то оно может быть получено только из предыдущего с помощью команды прибавь 1. Значит, количество искомых программ для такого числа равно количеству программ для предыдущего числа: R(i) = R(i - 1). Если число на 3 делится, то вариантов последней команды два: прибавь 1 и умножь на 3, тогда R(i) = R(i - 1) + R(i/3). Заполним соответствующую таблицу по приведённым формулам слева направо:

1 2 3 4 5 6 7 8 9 10 11
1 1 2 2 2 3 3 3 5 5 5

Следовательно, количество программ, преобразующих число 1 в 11, равно 5.

Теперь определим количество программ, преобразующих число 11 в 34.

Будем считать, что R(11) = 1. Для каждого следующего числа 12, 13, . . . , 34 рассмотрим, из какого числа оно может быть получено за одну команду исполнителя. Если число не делится на 3, то оно может быть получено только из предыдущего с помощью команды прибавь 1. Значит, количество искомых программ для такого числа равно количеству программ для предыдущего числа: R(i) = R(i - 1). Если число на 3 делится, то вариантов последней команды два: прибавь 1 и умножь на 3, тогда R(i) = R(i - 1) + R(i/3). Заполним соответствующую таблицу по приведённым формулам слева направо:

11 12 13 14 15 16 17 18 19 20 21 22 23 24
1 1 1 1 1 1 1 1 1 1 1 1 1 1
25 26 27 28 29 30 31 32 33 34        
1 1 1 1 1 1 1 1 2 2        

Следовательно, количество программ, преобразующих число 11 в 34, равно 2.

Количество программ, которые число 1 преобразуют в число 34 и при этом траектория вычислений содержит число 11, равно 5 · 2 = 10.

Ответ: 10.

Ответ: 10
Показать решение
Бесплатный интенсив

Задача 14

У исполнителя Уменьшитель две команды, которым присвоены номера:

1. Разделить на 2

2. Вычесть 1

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

Определите количество программ, которые число 30 преобразуют в число 7.

Решение
x = [0] * (30 + 1) #Заводим список, где индексы - числа, а значения - количества программ
x[7] = 1
for i in range(8, 30 + 1):
    x[i] += x[i - 1]   # Вычесть 1
    if i % 2 == 0:
        x[i] += x[i // 2]   # Разделить на 2
print(x[30])
    
Ответ: 12
Показать решение
Бесплатный интенсив

Задача 15

У исполнителя X132 три команды, которым присвоены номера:

1. Прибавь 1

2. Прибавь 3

3. Умножь на 2

Первая из них увеличивает число на экране на 1, вторая - на 3, а третья - в 2 раза. Программа для исполнителя X132 - это последовательность команд.

Сколько существует программ, которые число 1 преобразуют в число 15, причём траектория вычислений содержит числа 6 и 10?

Траектория вычислений программы - это последовательность результатов выполнения всех команд программы. Например, для программы 1323 при исходном числе 4 траектория будет состоять из чисел 5; 10; 13; 26.

Решение

Количество программ, которые число 1 преобразуют в число 15, причём траектория вычислений содержит числа 6 и 10, равно произведению числа программ, преобразующих число 1 в число 6, число 6 в число 10 и число 10 в число 15.

Сначала определим количество программ, преобразующих число 1 в 6. Будем решать поставленную задачу последовательно для чисел 1, 2, 3, 4, 5, 6 (то есть для каждого из этих чисел определим, сколько программ исполнителя существует для его получения).

Количество программ, которые преобразуют число 1 в число n, будем обозначать через R(n). Будем считать, что R(1) = 1. Для каждого следующего числа i рассмотрим, из какого числа оно может быть получено за одну команду исполнителя. Если число i нечётно, то оно может быть получено либо из i - 1-го с помощью команды прибавь 1, либо из числа i-3-го с помощью команды прибавь 3. Значит, количество искомых программ для такого числа равно количеству программ для i-1-го и i-3-го чисел: R(i) = R(i-1)+R(i-3). Если число чётно, то вариантов последней команды три: прибавь 1, прибавь 3 и умножь на 2, следовательно, R(i) = R(i-1)+R(i-3)+R(i=2). Заполним соответствующую таблицу по приведённым формулам слева направо:

1 2 3 4 5 6
1 2 2 5 7 11

Следовательно, количество программ, преобразующих число 1 в 6, равно 11.

Теперь определим количество программ, преобразующих число 6 в 10.

Будем считать, что R(10) = 1. Для каждого следующего числа 11, 12, . . . , 15 рассмотрим, из какого числа оно может быть получено за одну команду исполнителя. Если число нечётно, то оно может быть получено либо из i - 1-го с помощью команды прибавь 1, либо из числа i - 3-го с помощью команды прибавь 3. Значит, количество искомых программ для такого числа равно количеству программ для i - 1-го и i - 3-го чисел: R(i) = R(i - 1) + R(i - 3). Если число чётно, то вариантов последней команды три: прибавь 1, прибавь 3 и умножь на 2, следовательно, R(i) = R(i-1)+R(i-3)+R(i=2). Заполним соответствующую таблицу по приведённым формулам слева направо:

6 7 8 9 10
1 1 1 2 3

Следовательно, количество программ, преобразующих число 6 в 10, равно 3.

Рассуждая аналогично предыдущим случаям, определим количество программ, преобразующих число 10 в 15.

10 11 12 13 14 15
1 1 1 2 3 4

Следовательно, количество программ, преобразующих число 10 в 15, равно 4.

Количество программ, которые число 1 преобразуют в число 15, причём траектория вычислений содержит числа 6 и 10, равно 11 · 3 · 4 = 132.

Ответ: 132.

Ответ: 132
Показать решение
Бесплатный интенсив

Задача 16

У исполнителя Считатель-1 две команды, которым присвоены номера:

1. Прибавь 2

2. Умножь на 3

Первая из них увеличивает число на экране на 2, вторая - в 3 раза. Программа для исполнителя Считатель-1 - это последовательность команд.

Сколько существует программ, которые число 1 преобразуют в число 58?

Решение

Из числа 1 с помощью команд "Прибавь 2" и "Умножь на 3" невозможно получить чётное число, т.к. нечётное +2 = нечётное и нечётное *3 = нечётное. Следовательно, число 58 получить невозможно.

Ответ: 0.

Ответ: 0
Показать решение
Бесплатный интенсив

Задача 17

У исполнителя Р134 три команды, которым присвоены номера:

1. Прибавь 1

2. Прибавь 3

3. Прибавь 4

Первая из них увеличивает число на экране на 1, вторая на 3, а третьяна 4. Программа для исполнителя A134 это последовательность команд.

Сколько существует программ, которые число 8 преобразуют в число 22, причём траектория вычислений содержит число 17?

Траектория вычислений программы это последовательность результатов выполнения всех команд программы. Например, для программы 231 при исходном числе 5 траектория будет состоять из чисел 8; 12; 13.

Решение

Количество программ, которые число 8 преобразуют в число 22, и при этом траектория вычислений содержит число 17, равно произведению числа программ, которые преобразуют число 8 в число 17, и числа программ, преобразующих число 17 в число 22.

Сначала определим количество программ, преобразующих число 8 в 17. Будем решать поставленную задачу последовательно для чисел 8, 9, 10, . . . , 17 (то есть для каждого из этих чисел определим, сколько программ исполнителя существует для его получения).

Количество программ, которые преобразуют число k в число n, будем обозначать через R(n). Будем считать, что R(k) = 1. Для чисел k + 1, k + 2 R(i) = R(i - 1). Для числа k + 3 количество программ, с помощью которых может быть получено это число из числа k, можно посчитать по формуле R(i) = R(i - 1) + R(i - 3). Количество программ, с помощью которых может быть получено каждое следующее число из числа k, можно посчитать по формуле R(i) = R(i - 1) + R(i - 3) + R(i - 4).

8 9 10 11 12 13 14 15 16 17
1 1 1 2 4 6 9 15 25 40

Следовательно, количество программ, преобразующих число 8 в 17, равно 40.

Теперь определим количество программ, преобразующих число 17 в 22.

Будем считать, что R(17) = 1. Для каждого следующего числа 18, 19, . . . , 22 рассмотрим, из какого числа оно может быть получено за одну команду исполнителя.

Заполним соответствующую таблицу по приведённым формулам слева направо:

17 18 19 20 21 22
1 1 1 2 4 6

Следовательно, количество программ, преобразующих число 17 в 22, равно 6.

Количество программ, которые число 8 преобразуют в число 22 и при этом траектория вычислений содержит число 17, равно 40 · 6 = 240.


Поиск ответа при помощи программы на С++:

#include <iostream>
using namespace std;

int main(){
const int n0 = 8, nk = 22;
int arr[nk + 1];
for (int i = 0; i < nk + 1; ++i) arr[i] = 0;
arr[n0] = 1;
for (int n = n0 + 1; n <= nk; ++n) {
if (n - 1 >= n0) arr[n] += arr[n - 1]; // Kn-1
if (n - 3 >= n0) arr[n] += arr[n - 3]; // Kn-3
if (n - 4 >= n0) arr[n] += arr[n - 4]; // Kn-4

if (n == 17)
for (int i = n - 1; i >= 0; --i) arr[i] = 0;
}
cout << arr[nk];
return 0;
}

Ответ: 240.

Ответ: 240
Показать решение
Бесплатный интенсив

Задача 18

У исполнителя Считатель-1 две команды, которым присвоены номера:

1. Прибавь 2

2. Умножь на 3

Первая из них увеличивает число на экране на 2, вторая - в 3 раза. Программа для исполнителя Считатель-1 - это последовательность команд.

Сколько существует программ, которые число 3 преобразуют в число 47, причём траектория вычислений проходит через число 14? Траектория вычислений - множество чисел, через которые проходила конкретная программа для получения одного числа из другого.

Решение

Из числа 3 с помощью команд "Прибавь 2" и "Умножь на 3" невозможно получить чётное число, т.к. нечётное +2 = нечётное и нечётное *3 = нечётное. Следовательно, число 14 получить невозможно. Тогда никакая траектория из числа 3 в число 47 не пройдёт через число 14.

Ответ: 0.

Ответ: 0
Показать решение
Бесплатный интенсив

Задача 19

У исполнителя Считатель-1 две команды, которым присвоены номера:

1. Прибавь 2

2. Умножь на 3

Первая из них увеличивает число на экране на 2, вторая - в 3 раза. Программа для исполнителя Считатель-1 - это последовательность команд.

Сколько существует программ, которые число 3 преобразуют в число 23?

Решение

Будем считать количество программ постепенно для каждого числа слева направо по следующему принципу:

Если число А можно получить с помощью X программ из начального значения, число B можно получить с помощью Y программ из начального значения, а с помощью одной любой команды из условия число C можно получить только из чисел A и B, то количество программ, с помощью которых можно получить число C из начального значения, равно X + Y.

Из числа 3 с помощью команд "Прибавь 2" и "Умножь на 3" невозможно получить чётное число. Значит, чётные числа можно не писать.

Таблица, отображающая количество программ для каждого отдельного числа, вычисленная по данному правилу:

Число 3 5 7 9 11 13 15 17 19 21 23
Кол-во программ 1 1 1 2 2 2 3 3 3 4 4


Поиск ответа при помощи программы на С++:

#include <iostream>
using namespace std;

int main(){
const int n0 = 3, nk = 23;
int arr[nk + 1];
for (int i = 0; i < nk + 1; ++i) arr[i] = 0;
arr[n0] = 1;
for (int n = n0 + 1; n <= nk; ++n) {
if (n - 2 >= n0) arr[n] = arr[n - 2]; // Kn-1
if (n % 3 == 0 && (n / 3) >= n0) //K(n / 3) - умножь на 3
arr[n] += arr[n / 3];
}
cout << arr[nk];
return 0;
}

Ответ: 4.

Ответ: 4
Показать решение
Бесплатный интенсив

Задача 20

У исполнителя Вычислитель три команды, которым присвоены номера:

1. Прибавь 1

2. Прибавь 2

3. Умножь на 3

Первая из них увеличивает число на экране на 1, вторая - на 2, а третья - в 3 раза. Программа для исполнителя X123 - это последовательность команд.

Сколько существует программ, которые число 1 преобразуют в число 8?

Решение

Будем решать поставленную задачу последовательно для чисел 1, 2, 3, . . . , 8 (то есть для каждого из чисел определим, сколько программ исполнителя существует для его получения). Количество программ, которые преобразуют число 1 в число n, будем обозначать через R(n). Число 2 из числа 1 можно получить с помощью команды 1 (также будем считать, что R(1) = 1). Для каждого следующего числа i рассмотрим, из какого числа оно может быть получено за одну команду исполнителя. Если число i не делится на 3, то оно может быть получено либо из i - 1-го с помощью команды прибавь 1, либо из числа i - 2-го с помощью команды прибавь 2. Значит, количество искомых программ для такого числа равно количеству программ для i-1-го и i-2-го чисел:R(i) = R(i-1)+R(i-2). Если число на 3 делится, то вариантов последней команды три: прибавь 1, прибавь 2 и умножь на 3, следовательно, R(i) = R(i-1)+R(i-2)+R(i/3). Заполним соответствующую таблицу по приведенным формулам слева направо:

1 2 3 4 5 6 7 8
1 1 3 4 7 12 19 31

Ответ: 31.

Ответ: 31
Показать решение
Бесплатный интенсив
Показать еще
  • Без воды
  • Ламповая атмосфера
  • Крутые преподаватели

ЕГЭ 2026: бесплатный курс
по информатике

На бесплатном демо-курсе ты:
  • Узнаешь как кодируется изображение
  • Поймешь как решать 7 номер ЕГЭ
  • Разберешься с паролями
  • Потренируешь 11 и 4 номер ЕГЭ
Получи бесплатный демо-доступ
Оставь заявку и займи место
на бесплатном курсе Турбо ЕГЭ
Нажимая на кнопку «Отправить», вы принимаете положение об обработке персональных данных.