Простой линейный алгоритм для формального исполнителя.
Задача 1
У исполнителя Омега две команды, которым присвоены номера:
1. прибавь 3;
2. раздели на b
(b — неизвестное натуральное число; b ≥ 2).
Выполняя первую из них, Омега увеличивает число на экране на 3, а выполняя вторую, делит это число на b. Программа для исполнителя Омега — это последовательность номеров команд. Известно, что программа 11211 переводит число 30 в число 12. Определите значение b.
Решение.
Заметим, что после выполнения первых двух команд мы получаем число 36. Далее, составим и решим уравнение:
Ответ: 6
Задача 2
У исполнителя Квадратур две команды, которым присвоены номера:
1. прибавь 1
2. возведи в квадрат
Первая из них увеличивает число на экране на 1, вторая возводит его во вторую степень.
Составьте алгоритм получения из числа 3 числа 84, содержащий не более 5 команд. В ответе запишите только номера команд.
(Например, 11221 — это алгоритм:
прибавь 1
прибавь 1
возведи в квадрат
возведи в квадрат
прибавь 1,
который преобразует число 1 в 82.)
Если таких алгоритмов более одного, то запишите любой из них.
Решение.
Не любое число является квадратом целого числа, поэтому, если мы пойдём от числа 84 к числу 3, тогда однозначно восстановим программу. Полученные команды будут записываться справа налево.
1. Число 84 не является квадратом, поэтому оно получено добавлением единицы к числу 83: 84 = 83 + 1 (команда 1).
2. Число 83 не является квадратом, поэтому оно получено добавлением единицы к числу 82: 83 = 82 + 1 (команда 1).
3. Число 82 не является квадратом, поэтому оно получено добавлением единицы к числу 81: 82 = 81 + 1 (команда 1).
4. Число 81 является квадратом числа 9: 81 = 9 · 9 (команда 2).
5. Число 9 является квадратом числа 3: 9 = 3 · 3 (команда 2).
Искомая последовательность команд: 22111.
Ответ: 22111
Задача 3
У исполнителя Квадратор две команды, которым присвоены номера:
1. возведи в квадрат
2. прибавь b
(b — неизвестное натуральное число)
Первая из них возводит число на экране во вторую степень, вторая прибавляет к числу b. Программа для исполнителя — это последовательность номеров команд.
Известно, что программа 12212 переводит число 2 в число 37. Определите значение b.
Решение.
Заметим, что после выполнения первой команды мы получаем число 4. Составим и решим уравнение:
(4 + 2b)2 + b = 37,
16 + 16b + 4b2 + b = 37,
4b2 + 17b − 21 = 0.
Решив, квадратное уравнение, получим:
b1=1; b2=−5.25.
Отрицательные корни не рассматриваются.
Соответственно, b=1.
Ответ: 1
Ниже можно скачать файл с задачами для тренировки: