задание
Выполните задания для исполнителей (покажите как выполняли действия):
1.) У исполнителя Калькулятор две команды, которым присвоены номера:
1. прибавь 1
2. умножь на 3
Выполняя первую из них, Калькулятор прибавляет к числу на экране 1, а выполняя вторую, утраивает его. Запишите порядок команд в программе получения из 2 числа 26, содержащей не более 6 команд, указывая лишь номера команд.
(Например, программа 21211 – это программа: умножь на 3 прибавь 1 умножь на 3 прибавь 1 прибавь 1,которая преобразует число 1 в 14).
2.) Исполнитель КАЛЬКУЛЯТОР имеет только две команды, которым присвоены номера:
1. Вычти 1
2. Умножь на 2
Выполняя команду номер 1, КАЛЬКУЛЯТОР вычитает из числа на экране 1, а выполняя команду номер 2, умножает число на экране на 2. Напишите программу, содержащую не более 4 команд, которая из числа 13 получает число 100.
3.) Исполнитель КВАДРАТОР имеет только две команды, которым присвоены номера:
1. Возведи в квадрат
2. Прибавь 1
Выполняя команду номер 1, КВАДРАТОР возводит число на экране в квадрат, а выполняякоманду номер 2, прибавляет к этому числу 1.
Напишите программу, содержащую не более 4 команд, которая из числа 1 получает число 17.
II задание
Выполните алгоритм и начертите траекторию этого Исполнителя.
5 разных алгоритмов ниже (будет 5 траекторий)
1. повтори 4 [ вперед 30 вправо 45 ]
2. повтори 45 [ вперед 30 вправо 45 вправо 45]
3. повтори 12 [ вправо 15 вперед 30 вправо 45 ]
4. повтори 5 [ вправо 15 вперед 30 вправо 15 ]
5. повтори 15 [ вправо 80 вперед 30 влево 35 ]
III задание
Решите задания:
1 тип заданий (Выполнение алгоритмов для исполнителей):
1. У исполнителя Калькулятор две команды:
1. вычти 3 2. умножь на 2
Какое число получит этот исполнитель, если выполнит программу 121221 для начального числа 7?
2 тип заданий (Оптимальная программа (Калькулятор)):
2. У исполнителя Калькулятор две команды:
1. вычти 2
2. умножь на 3
Напишите программу из 5 команд, которая преобразует число 8 в число 50.3.
3 тип заданий (Составление программы для исполнителя (ОГЭ)):
У исполнителя Квадратор две команды, которым присвоены номера:
1. возведи в квадрат
2. вычти 2
Исполнитель работает только с натуральными числами. Составьте алгоритм получения из числа 4 числа 142, содержащий не более 5 команд. В ответе запишите только номера команд. Если таких алгоритмов более одного, то запишите любой из них.
Обозначим F[n] - число получить число n и положим F[18]=F[19]=F[20]=F[21]=0, а F[22]=1. Тогда F[k] = F[k-3]+F[k-4]+F[k-5] для любого k >= 23.
(Почему так? Возьмём некоторое число k. Его можно получить из чисел k-3, k-4, k-5 путём прибавления тройки, четвёрки и пятёрки соответственно, притом если мы договорились, например, что последней операцией будем прибавление пятёрки, то число получить число k будет равно числу получить k-5, ведь последнюю операцию мы определим однозначно. Поэтому число получить k - сумма количеств получить k-3, k-4 и k-5)
Итак, F[k] = F[k-3]+F[k-4]+F[k-5], F[18]=F[19]=F[20]=F[21]=0 и F[22]=1. По этой рекуррентной формуле можно даже посчитать вручную (это будет немного долго), или воспользоваться компьютером. Например, на python 3 можно написать такую программу:
a = [0] * 5;n = 22;a[n % 5] = 1;while n < 80: n += 1; a[n % 5] = a[(n-3) % 5] + a[(n-4) % 5] + a[(n-5) % 5]print(a[n % 5])
ответ: 3174448