6. Простейшие исполнители и алгоритмы
У исполнителя прибавлятор-7 есть 2 команды:
1. Прибавить к числу 5;
2. Прибавить к числу 2;
Напишите для него программу, состоящую из номеров команд, которая переводит число 3 в 21 за 6 команд.
Одним из оптимальных методов решения является написание программы шаг за шагом приближающей число к ответу. По началу выполняем команды увеличивающие число на наибольшую возможную величину, в данном случае при помощи первой команды. Так доходим до 13 т. к. 13 последнее нечетное число меньшее 21 при прибавлении 5 каждым шагом. Далее добавляем недостающие 4 двойки до 21. В данном задании несколько вариантов правильных комбинаций команд т. к. их последовательность не имеет значения.
У исполнителя №52 есть две команды:
1.Прибавить 5;
2.Умножить на 2;
Напишите для него программу, состоящую из номеров команд, которая переводит число 5 в 110 за 6 команд.
Одним из оптимальных методов решения является восстановление программы от обратного, то есть от 110 к 5. Первым шагом будет команда обратная 2-ой, деление на 2 т. к. она максимально уменьшает число. Далее используем команду обратную 1-ой, вычитаем 5, т. к. 55 не делится на 2. Следующим шагом опять делим на 2, чтобы уменьшить число на сколько это возможно. 25 не делится на 2, поэтому опять вычитаем 5. После чего делим на 2. Чтобы получить из 10 необходимое число, можно вычесть 5 или разделить на 2. Далее необходимо восстановить последовательность команд в обратном порядке. Ответ 221212 или 121212.
У исполнителя №32 есть 2 команды
1. Умножить число на 3;
2. Прибавить к числу 2;
Напишите для него программу, состоящую из номеров команд, которая переводит число 4 в 122 за 6 команд.
Одним из оптимальных методов решения является восстановление программы от обратного, то есть от 122 к 4. Первым шагом будет команда обратная 2-ой,вычитание 2 т.к. 122 на 3 не делится. Далее используем команду обратную 1-ой деление на 3. Из получившихся 40 вычитаем 2 раза по два, после этого ещё делим дважды на 3, после чего получаем необходимое число. В ответ записываем последовательность команд в обратном порядке.
У исполнителя №53 есть 2 команды
1. Умножить число на 5;
2. Прибавить к числу 3;
Напишите для него программу, состоящую из номеров команд, которая переводит число 4 в 121 за 5 команд.
Одним из оптимальных методов решения является восстановление программы от обратного, то есть от 121 к 4. Первым шагом будет команда обратная 2-ой,вычитание 3 т.к. 121 на 5 не делится. 118 так же не делится на 5, следовательно, вычитаем 3 ещё раз. К 115 уже можно применить операцию обратную 1-ой команде, деление на 5. 23 на 5 не делится, вычитаем 3 ещё раз. 20 делим на 5 и получаем искомое число. В ответ записываем последовательность команд в обратном порядке.
У исполнителя №327 есть 3 команды
1. Прибавить к числу 3;
2. Возвести число в квадрат;
3. Умножить число на 7;
Напишите для него программу, состоящую из номеров команд, которая переводит число 1 в 808 за 6 команд.
Одним из оптимальных методов решения является восстановление программы от обратного, то есть от 808 к 1, применяя обратные команды. К 808 мы можем применить только команду обратную 1-ой и вычесть 3. 805 уже можно разделить на 7 и применить команду обратную 3-ей. К 115 можно применить только операцию обратную 1-ой. 112 делим на 7 командой обратной 3-ей. Из 16 извлекаем квадратный корень операцией обратной 2-ой. Последней операцией остается из 4 вычесть 3 командой обратной к 1-ой. В ответ записываем последовательность команд в обратном порядке.
У исполнителя №3523 есть 4 команды
1. Умножить число на 3;
2.Умножить число на 5;
3.Прибавить к числу 2;
4.Возвести число в куб;
Напишите для него программу, состоящую из номеров команд, которая переводит число 2 в 602 за 5 команд.
Одним из оптимальных методов решения является восстановление программы от обратного, то есть от 602 к 2, применяя обратные команды. К 602 можно применить только команду обратную 3-ей. 600 делится на 5 и на 3, делим на 5 и на 3, командами обратными 2-ой и 1-ой. 40 можно ещё раз разделить на 5 командой обратной 2-ой. 8 это 2 в кубе, следовательно применяя к 8 команду обратную 4 получим искомое число. В ответ записываем последовательность команд в обратном порядке. Ответ 42123 или 41223 или 42213.
Автомат получает на вход пятизначное число. По этому числу строится новое число по таким правилам:
1. Складываются квадраты цифр, стоящих на нечетных позициях;
2. Складываются квадраты цифр, стоящих на четных позициях;
3. Затем в порядке возрастания записываются эти суммы.
Укажите наименьшее число, при вводе которого автомат выдает число 36107.
Сумма квадратов 3 чисел принадлежит промежутку [0,243], а сумма квадратов 2 чисел промежутку [0,162]. В соответствие с этими правилами число разбивается на число 36 и 107. Раскладывая данные числа на суммы квадратов, получаем набор цифр для исходного числа {0,1,5,6,9}, при этом цифры {0,6} находятся на четных позициях, а цифры {1,5,9} на нечетных. Тогда минимальное число есть 10569.