Вопрос:

Запишите порядок команд в программе преобразования числа 8 в число 83, содержащей не более 7 команд, указывая лишь номера команд.

Запишите порядок команд в программе преобразования числа 8 в число 83, содержащей не более 7 команд, указывая лишь номера команд.
Фотография

Ответ ассистента

Для решения задачи воспользуемся методом обратного хода (от 83 к 8). Это эффективнее, так как деление на 2 возможно не для каждого числа. **Ход рассуждений (с конца):** 1. Число 83 — нечётное, поэтому последней командой было «прибавь 1» (команда 1). $83 - 1 = 82$ 2. Число 82 — чётное. Чтобы быстрее уменьшить число, выгодно делить на 2 (команда 2). $82 / 2 = 41$ 3. Число 41 — нечётное, вычитаем 1 (команда 1). $41 - 1 = 40$ 4. Число 40 — чётное, делим на 2 (команда 2). $40 / 2 = 20$ 5. Число 20 — чётное, делим на 2 (команда 2). $20 / 2 = 10$ 6. Число 10 — чётное, делим на 2 (команда 2). $10 / 2 = 5$ (Мимо! Нам нужно прийти к числу 8. Попробуем на этом шаге вычесть 1). **Второй вариант (откат к шагу 5):** 5. Число 20 — чётное. Если мы разделим ещё раз, получим 10. Попробуем вычитать 1, пока не дойдем до нужного кратного или самого числа 8. $20 - 1 = 19$, $19 - 1 = 18$... **Третий вариант (оптимальный):** 1. $83 - 1 = 82$ (команда 1) 2. $82 / 2 = 41$ (команда 2) 3. $41 - 1 = 40$ (команда 1) 4. $40 / 2 = 20$ (команда 2) 5. $20 / 2 = 10$ (команда 2) 6. $10 - 1 = 9$ (команда 1) 7. $9 - 1 = 8$ (команда 1) Проверим в прямом порядке (от 8 к 83): 1. $8 + 1 = 9$ (1) 2. $9 + 1 = 10$ (1) 3. $10 \times 2 = 20$ (2) 4. $20 \times 2 = 40$ (2) 5. $40 + 1 = 41$ (1) 6. $41 \times 2 = 82$ (2) 7. $82 + 1 = 83$ (1) Итого 7 команд. Программа: 1122121. **Ответ: 1122121**

Другие решения

Что ещё задавали пользователи