Контрольные задания > Задача 7. У исполнителя Квадратор две команды: возведи в квадрат, прибавь 1. Составьте алгоритм получения из числа 2 числа 101, содержащий не более 5 команд.
Вопрос:
Задача 7. У исполнителя Квадратор две команды: возведи в квадрат, прибавь 1. Составьте алгоритм получения из числа 2 числа 101, содержащий не более 5 команд.
Ответ:
Для решения этой задачи необходимо найти последовательность команд, которая преобразует число 2 в число 101, используя только две команды: возведение в квадрат и прибавление 1.
1. Начнем с числа 2.
2. Применим команду 'возведи в квадрат': 2^2 = 4.
3. Применим команду 'возведи в квадрат': 4^2 = 16.
4. Теперь нужно получить число 101. Заметим, что 101 близко к 100, а 100 = 10^2.
5. Попробуем прибавлять 1 несколько раз:
* 16 + 1 = 17
* 17 + 1 = 18
* ...
* 16 + 85 = 101
Это слишком много операций 'прибавь 1'.
6. Попробуем другой подход. После 16 возведем в квадрат еще раз: 16^2 = 256. Это слишком много. Вернемся к 16 и попробуем комбинации:
* 16 + 1 = 17
* 17^2 = 289. Слишком много.
7. Заметим, что 101 = 100 + 1 = 10^2 + 1. Попробуем получить число близкое к 10.
8. Вернемся к числу 4.
* 4 + 1 = 5
* 5^2 = 25
* 25 + 1 = 26
* 26 + 1 = 27
* 27 + 1 = 28
* 28 + 1 = 29
* 29 + 1 = 30
* 30 + 1 = 31
* 31 + 1 = 32
* 32^2 = 1024. Это очень много.
9. Попробуем последовательность:
* 2 + 1 = 3
* 3 + 1 = 4
* 4^2 = 16
* 16 + 1 = 17
* 17 + 1 = 18
* 18 + 1 = 19
* 19 + 1 = 20
* 20^2 = 400 - опять перебор.
10. Рассмотрим следующий вариант:
* 2 + 1 = 3
* 3^2 = 9
* 9 + 1 = 10
* 10^2 = 100
* 100 + 1 = 101
Таким образом, последовательность команд: прибавь 1, возведи в квадрат, прибавь 1, возведи в квадрат, прибавь 1.
В виде номеров команд это будет: 21212.
Ответ: 21212