У исполнителя вычислитель две команды,которым присвоены номера 1.Умножь ** 3 2.Вычти 5...

0 голосов
412 просмотров

У исполнителя вычислитель две команды,которым присвоены номера
1.Умножь на 3
2.Вычти 5
Первая из них увеличивает число на экране в 3 раза,вторая уменьшает его на 5.Составьте алгоритм получения из числа 8,числа 36 содержащий не более 5 команд.
Пожалуйста,помогите,с объяснением,мне информатику сдавать,а я эту тему не могу понять


Информатика (228 баллов) | 412 просмотров
Дан 1 ответ
0 голосов
Правильный ответ

1. Схематически записываем условие
Есть две команды: (1) ×3 и (2) -5
Тут я ввожу обозначения: в скобках некий "код" команды, а далее обозначение, что именно она делает. Команда с кодом 1 умножает на три, с кодом 2 - вычитает 5.
Теперь, что нам надо получить: 8 ⇒ 36, т.е. из 8 получить 36.

2. Анализируем, какое число может быть перед выполнением последней (т.е. пятой) команды.
Применим к результату команды, обратные к (1) и (2).
Действие, обратное умножению - это деление, вычитанию - сложение.
Для (1) получим 36/3 = 12, т.е. в результате выполнения первых четырех (пока в неизвестном порядке) команд должно получиться 12.
Для (2) получим 36+5 = 41.

3. Теперь анализируем, какой могла бы быть третья команда
Чтобы получить 12 после (1), нужно взять число 12/3 = 4.
Чтобы получить 12 после (2), нужно взять число 4+5=9.
Получить 41 после (1) невозможно, поскольку 41 на 3 не делится нацело.
Чтобы получить 41 после (2), нужно взять число 41+5=46.
Итак, имеем три числа-кандидата.
46 выглядит подозрительно, потому что получить его можно только из 51 при помощи (2), поскольку 46 на 3 не делится и не может быть получено при помощи (1). А получить 8 ⇒ 51 за две возможные операции не получится. Поэтому 46 отбрасываем.

4. Анализируем, какой могла бы быть вторая по порядку команда
Получить 4 после (1) нельзя, потому что 4 не делится на 3.
Чтобы получить 4 после (2), нужно взять число 4+5=9.
Чтобы получить 9 после (1), нужно взять число 9/3 = 3.
Чтобы получить 9 после (2), нужно взять число 9+5=14.

5. Рассматриваем, что можно получить из исходного числа
а) 8 после (1) дает 8×3 = 24 и получить 3, 9 или 14 из 24 при помощи одной из имеющихся команд невозможно.
б) 8 после (2) дает 8-5 = 3 - это и есть решение проблемы.

6. Устанавливаем цепочку преобразований (код команды в скобках).
8-5 = 3 (2)
3х3 = 9 (1)
9-5 = 4 (2)
4х3 = 12 (1)
12х3 = 36 (1)

Ответ: 21211 - набор команд

(150k баллов)