Исполнитель Калькулятор
Обратная задача (составление программы)
Обратная задача (решение «с конца»)
Задание 6
Задание 22
Решение
Задание 22
Задание 22
Задание 14
71.98K
Category: programmingprogramming

Исполнитель Калькулятор

1.

2. Исполнитель Калькулятор

2
Исполнитель Калькулятор
Исполнитель Калькулятор работает с одним числом и
умеет выполнять с ним две операции (команды):
1. прибавь 2
2. умножь на 3
Программа – это последовательность номеров команд,
которые нужно выполнить.
Программа 12211
2
начальное
число
К. Поляков, 2010-2013
1
4
2
12
2
36
1
38
1
40
результат
http://kpolyakov.spb.ru

3. Обратная задача (составление программы)

Исполнитель Калькулятор
3
Обратная задача (составление программы)
Используя команды:
1. прибавь 2
2. умножь на 3
написать программу, которая из 3 получает 29.
13
45
17
15
21
7
9
9
5
3
33
11
29
27
1
81
дерево
вариантов
2
3
5
1
7
9
Ответ: 221
1
2
15
2
11
27
1
2
1
2
1
2
1
2
9
21
17
45
13
33
29
81
К. Поляков, 2010-2013
http://kpolyakov.spb.ru

4. Обратная задача (решение «с конца»)

Исполнитель Калькулятор
4
Обратная задача (решение «с конца»)
1
Ответ: 221
1
25
23
!
33
11
15
7
9
2
45
17
21
27
1
13
нельзя делить на 3!
29
9
5
3
9
1
2
7
3
?
Почему решение
«с конца» короче?
Решение «с конца» короче, если в списке команд
есть необратимая операция (каждое целое число
можно умножить на 3, но не каждое делится на 3)!
К. Поляков, 2010-2013
http://kpolyakov.spb.ru
29
27
81

5. Задание 6

• У исполнителя Калькулятор две
команды,которым присвоены номера:
• 1. прибавь 1,
• 2. умножь на 2.
• Запишите порядок команд в программе,
которая преобразует число 7 в число 130 и
содержит не более 6 команд. Указывайте
лишь номера команд

6. Задание 22

Исполнитель Калькулятор преобразует число на экране. У
исполнителя
есть две команды, которым присвоены номера:
1. Прибавить 1
2. Прибавить 3
Программа для исполнителя Калькулятор – это
последовательность
команд. Сколько существует программ, для которых при
исходном числе 5
результатом является число 25 и при этом траектория
вычислений
содержит число 15 и не содержит числа 12?

7. Решение

• +1, +3
• 5 -> 25
• 5-> 12-> 15-> 25
Ответ 10*28=280
5
6
7
8
9
10
11
12
13
14
15
1
1
1
2
3
4
6
0
4
10
10
15
16
17
18
19
20
21
22
23
24
25
1
1
1
2
3
4
6
9
13
19
28

8. Задание 22

Исполнитель Калькулятор преобразует число на экране. У
исполнителя есть
две команды, которым присвоены номера:
1. Прибавить 1
2. Умножить на 2
Программа для исполнителя Калькулятор – это
последовательность команд.
Сколько существует программ, для которых при
исходном числе 2
результатом является число 40 и при этом траектория
вычислений содержит
число 20 и не содержит числа 8?

9. Задание 22

Исполнитель А25S преобразует целое число, записанное на экране. У
исполнителя три команды, каждой команде присвоен номер:
1. Прибавь 2
2. Прибавь 5
3. Прибавь предыдущее
Первая команда увеличивает число на экране на 2, вторая увеличивает
это
число на 5, третья прибавляет к числу на экране число, меньшее на 1 (к
числу
3 прибавляется 2, к числу 11 прибавляется 10 и т. д.). Программа
для
исполнителя А25S – это последовательность команд.
Сколько существует программ, которые число 2 преобразуют в число 21?

10. Задание 14

Исполнитель Редактор получает на вход строку цифр и преобразовывает её.
Редактор может выполнять две команды, в обеих командах v и w обозначают
цепочки цифр.
заменить (v, w)
нашлось (v)
Дана программа для исполнителя Редактор:
НАЧАЛО
ПОКА нашлось (63) ИЛИ нашлось (664) ИЛИ нашлось (6665)
ЕСЛИ нашлось (63) ТО заменить (63, 4) КОНЕЦ ЕСЛИ
ЕСЛИ нашлось (664) ТО заменить (664, 5) КОНЕЦ ЕСЛИ
ЕСЛИ нашлось (6665) ТО заменить (6665, 3) КОНЕЦ ЕСЛИ
КОНЕЦ ПОКА
КОНЕЦ
Какая строка получится в результате применения приведённой выше
программы к строке, в которой первая и последняя цифры – 3, а между ними
стоит 120 цифр 6? В ответе запишите полученную строку.
English     Русский Rules