
Короче,есть две команды: 1) прибавь 32) умножь на 2Нужно из числа 1 получить число 47 используя
эти команды.Ответ запишите,указывая лишь номера команд ( наприпер,программа 21211 преобразует число 1 в 16)Заранее большое спасибо,а то я уже запуталась

Ответы на вопрос

Нужно идти с заду наперёд. Если число нечётное - отнять 3, потом поделить на 2.
Например число 47 нечётное - отнять 3, потом разделить на 2, и так пока не будет 1. Чтобы получить 47 из 1 нужно записать команды получения из 47 1 в обратном порядке с обратными операциями.
Например число 11.
чтобы из 11 получить 1 нужно отнять 3. 11 - 3 = 8, разделить на 2, 8/2 = 4, отнять 3.
Чтобы из числа 1 получить 11 нужно записать команда получения из числа 11 1 в обратном порядке, заменив деление умножением, вычитание прибавлением: к 1 прибавить 3, умножить на 2, прибавить 3.
В программировании можно реализовать данный алгоритм с помощью рекурсии, с помощью стека, либо с помощью массива.



Для преобразования числа 1 в число 47 с помощью команд "прибавь 3" и "умножь на 2", вам нужно выполнить следующую последовательность команд:
- Прибавь 3 (1 + 3 = 4)
- Умножь на 2 (4 * 2 = 8)
- Прибавь 3 (8 + 3 = 11)
- Умножь на 2 (11 * 2 = 22)
- Прибавь 3 (22 + 3 = 25)
- Умножь на 2 (25 * 2 = 50)
- Прибавь 3 (50 + 3 = 53)
- Умножь на 2 (53 * 2 = 106)
- Прибавь 3 (106 + 3 = 109)
- Умножь на 2 (109 * 2 = 218)
- Прибавь 3 (218 + 3 = 221)
- Умножь на 2 (221 * 2 = 442)
- Прибавь 3 (442 + 3 = 445)
- Умножь на 2 (445 * 2 = 890)
- Прибавь 3 (890 + 3 = 893)
- Умножь на 2 (893 * 2 = 1786)
- Прибавь 3 (1786 + 3 = 1789)
- Умножь на 2 (1789 * 2 = 3578)
- Прибавь 3 (3578 + 3 = 3581)
- Умножь на 2 (3581 * 2 = 7162)
- Прибавь 3 (7162 + 3 = 7165)
- Умножь на 2 (7165 * 2 = 14330)
- Прибавь 3 (14330 + 3 = 14333)
- Умножь на 2 (14333 * 2 = 28666)
- Прибавь 3 (28666 + 3 = 28669)
- Умножь на 2 (28669 * 2 = 57338)
- Прибавь 3 (57338 + 3 = 57341)
- Умножь на 2 (57341 * 2 = 114682)
- Прибавь 3 (114682 + 3 = 114685)
- Умножь на 2 (114685 * 2 = 229370)
- Прибавь 3 (229370 + 3 = 229373)
- Умножь на 2 (229373 * 2 = 458746)
- Прибавь 3 (458746 + 3 = 458749)
Таким образом, программа "1212121212121212121212121212121212121212121212121212121212121212121" преобразует число 1 в 47.


Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili