Контрольные задания > 5. Исполнитель КВАДРАТОР имеет только две команды, которым присвоены номера:
1. возведи в квадрат
2. прибавь 1
Выполняя команду номер 1, КВАДРАТОР возводит число на экране в квадрат, а выполняя команду номер 2, прибавляет к этому числу 1. Напишите программу, содержащую не более 4 команд, которая из числа 1 получает число 17. Укажите лишь номера команд. (Например, программа 12122 — это программа:
возведи в квадрат
прибавь 1
возведи в квадрат
прибавь 1
прибавь 1
которая преобразует число 1 в число 6).
Вопрос:
5. Исполнитель КВАДРАТОР имеет только две команды, которым присвоены номера:
1. возведи в квадрат
2. прибавь 1
Выполняя команду номер 1, КВАДРАТОР возводит число на экране в квадрат, а выполняя команду номер 2, прибавляет к этому числу 1. Напишите программу, содержащую не более 4 команд, которая из числа 1 получает число 17. Укажите лишь номера команд. (Например, программа 12122 — это программа:
возведи в квадрат
прибавь 1
возведи в квадрат
прибавь 1
прибавь 1
которая преобразует число 1 в число 6).
Ответ:
Для решения этой задачи нам нужно подобрать последовательность команд (1 или 2), чтобы из числа 1 получить число 17. При этом можно использовать не более 4 команд.
Рассмотрим несколько вариантов:
1. Команда 1 (возвести в квадрат): 1 -> 1. Это не приближает нас к 17.
2. Команда 2 (прибавить 1): 1 -> 2. Это может быть полезно.
Попробуем следующую последовательность: 2, 1, 2, 2
* Команда 2: 1 + 1 = 2
* Команда 1: 2^2 = 4
* Команда 2: 4 + 1 = 5
* Команда 2: 5 + 1 = 6
Это далеко от 17.
Попробуем другую последовательность: 1, 2, 1, 2
* Команда 1: 1^2 = 1
* Команда 2: 1 + 1 = 2
* Команда 1: 2^2 = 4
* Команда 2: 4 + 1 = 5
Тоже далеко. Нужно больше умножения.
Попробуем sequence 2,1,1
* Команда 2: 1+1 = 2
* Команда 1: 2^2 = 4
* Команда 1: 4^2 = 16
* Команда 2: 16 + 1 = 17
**Ответ: 2112**