У исполнителя 3 команды +1 +2 и +5 сколько существует программ

У исполнителя 3 команды +1 +2 и +5 сколько существует программ которые 21 конвертируют в 30?

Задать свой вопрос
1 ответ

Пусть R(n) количество программ, которые число 2 преобразуют в число n.

Верны следующие соотношения:

1. Если n не делится на 2 и на 3, то тогда R(n) = R(n - 1), так как существует единственный способ получения n из n - 1 прибавление единицы.

2. Пусть n делится на 2 и не делится на 3.

Тогда R(n) = R(n - 1) + R(n / 2).

3. Пусть n делится на 3 и не делится на 2.

Тогда R(n) = R(n / 3) + R(n - 1).

4. Пусть n делится и на 2 и на 3.

Тогда R(n) = R(n - 1) + R(n / 2) + R(n / 3) .

 

С её помощью поочередно вычислим значения R(n):

 

R(2) = 1

R(3) = R(2) + R(1) = 1 + 0 = 1

R(4) = R(3) + R(2) = 1 + 1 = 2

R(5) = R(4) = 2

R(6) = R(5) + R(2) + R(3) = 2 + 1 + 1 = 4

R(7) = R(6) = 4

R(8) = R(7) + R(4) = 4 + 2 = 6

R(9) = R(8) + R(3) = 6 + 1 = 7

R(10) = R(9) + R(5) = 7 + 2 = 9

R(11) = R(10) = 9

R(12) = R(11) + R(6) + R(4) = 9 + 4 + 2 = 15

 

 

Так как в траектории должно присутствовать число 12, то для всех следующих R(n) нельзя использовать при пересчёте R(m) такие, что m lt; 12.

 

R(13) = R(12) = 15

R(22) = R(21) = R(20) = R(19) = R(18) = R(17) = R(16) = R(15) = R(14) = 15

 

Число 22 наоборот, не должно встречаться в траектории, поэтому не будем учесть R(22), то есть все следующие R(n) будем подсчитывать без R(22).

 

R(23) = 0

R(24) = R(23) + R(12) = 15

R(25) = R(24) = 15

R(26) = R(25) + R(13) = 15 + 15 = 30

 


Igor Brodulev
Как бы это не то что надобно мне нужно ветвление
, оставишь ответ?
Имя:*
E-Mail:


Добро пожаловать!

Для того чтобы стать полноценным пользователем нашего портала, вам необходимо пройти регистрацию.
Зарегистрироваться
Создайте собственную учетную запить!

Пройти регистрацию
Авторизоваться
Уже зарегистрированны? А ну-ка живо авторизуйтесь!

Войти на сайт