Задание 1. Тип заданий 22: количество программ.
  • Задание:

    Исполнитель Калькулятор имеет две команды:

    Прибавь 1

    Умножь на 2

    Первая команда увеличивает число на 1, вторая умножает число на 2. Например, первая команда преобразует число 5 в число 6, вторая преобразует число 5 в число 10.

    Сколько существует программ для этого исполнителя, преобразующих число 2 в число 15?

  • Решение:

    Для начала определим наименьшее возможное число между 2 и 15, к которому можно применять только одну команду. Это число 8, так как 7 мы можем и умножить на 2, и прибавить к нему единицу, а число 8 мы на 2 умножить не можем, т.к. в этом случае получим число 16.

    Отобразим на графе, что к числу 8 мы можем только прибавлять единицу:

    Общее количество программ обведем кружком, чтобы не запутаться.

    Теперь рассмотрим число 7 (предыдущее). Из него мы можем получить либо число 8 (прибавив 1), либо число 14 (умножив на 2). Из числа 8, как мы знаем, у нас существует только одна программа. К числу 14 мы можем только прибавлять единицу, то есть для него существует так-же одна программа:

    Рассмотрим число 6. Из него мы можем получить 7 или 12. Из 7, как мы знаем, существует две команды, к числу 12 мы можем только прибавлять единицу. То есть общее количество программ из числа 6 — три:

    Рассмотрим число 5. Из него мы можем получить число 6 и число 10. Из числа 6 у нас три программы, к числу 10 мы можем только прибавлять единицу, то есть общее количество программ — 4:

    Рассмотрим число 4. Из него мы можем получить число 5 и число 8. Из числа 5, как мы знаем, четыре программы, из числа 8 — одна программа:

    Рассмотрим число 3. Из него можно получить число 4 и число 6. Из числа 4, как мы знаем, существует пять программ, из числа 6 — три программы, то есть в общем восемь команд:

    И последнее число — 2. Из него мы можем получить 3 и 4, отобразим это на графе:

    Ответ: 13

     

    Видеоразбор задания:

Поделиться:
 
Комментарии (6)
Миша К # 13 февраля 2016 в 17:04 0
а когда нужно получить например 93?Ведь очень долго считать от 90 до 3
У ис­пол­ни­те­ля Каль­ку­ля­тор две ко­ман­ды, ко­то­рым при­сво­е­ны но­ме­ра:
1. при­бавь 3,
2. умножь на 3.
Пер­вая из них уве­ли­чи­ва­ет число на экра­не на 3, вто­рая — утра­и­ва­ет его.
Про­грам­ма для Каль­ку­ля­то­ра — это по­сле­до­ва­тель­ность ко­манд.
Сколь­ко есть про­грамм, ко­то­рые число 3 пре­об­ра­зу­ют в число 93?
Ответ обос­нуй­те.
Информатик БУ # 13 февраля 2016 в 19:30 0
Для заданий есть раздел Ваши задания. Пришлёте - разберу:)
Миша К # 13 февраля 2016 в 19:57 0
разобрался сам ,как можно ускорить )
Валентина Воробьева # 5 мая 2016 в 15:43 0
Способ "в лоб" муторно, но всегда верно.
3
6 (3+3) 1
9 (6+3) 1 (3*3) 1 2
12 (9+3) 2 2
15 (12+3) 2 2
18 (15+3) 2 (6*3) 1 3
21 (18+3) 3 3
24 (21+3) 3 3
27 (24+3) 3 (9*3) 2 5
30 (27+3) 5 5
33 5
36 (33+3) 5 (12*2) 2 7
39, 42 7
45 (42+3) 7 (15*3) 2 9
48. 51 9
54 12 (9+3)
57, 60 12
63 15 (12+3)
66, 69 15
72 18 (15+3)
75, 78 18
81 23 (18+5)
84,87 23
90 28 (23+5)
93, 96 28
и так далее
Олег Родин # 14 апреля 2016 в 12:00 0
Во всех последних "демках" формулировка чуть другая
Исполнитель Июнь15 преобразует число на экране. У исполнителя есть две команды, которым присвоены номера:
1. Прибавить 1
2. Умножить на 2
Первая команда увеличивает число на экране на 1, вторая умножает его на 2. Программа для исполнителя Июнь15 – это последовательность команд. Сколько существует программ, для которых при исходном числе 2 результатом является число 29 и при этом траектория вычислений содержит число 14 и не содержит числа 25?
Как с этими траекториями разобраться
Валентина Воробьева # 6 мая 2016 в 16:00 0
Дойдем "в лоб" до 14 - 13 путей

26 (13*2) 10
28 (27+1) 10 (14*2) 13 --> 23
29 --> 23 пути (из 28)
Перевести число из в Результат: 510 = 1012