Краткое пояснение: Необходимо составить программу из команд «прибавь 1» и «умножь на 2», чтобы из числа 8 получить число 83, используя не более 7 команд.
Решение:
Чтобы преобразовать число 8 в число 83, можно использовать следующую последовательность команд:
- Умножь на 2 (8 * 2 = 16)
- Умножь на 2 (16 * 2 = 32)
- Умножь на 2 (32 * 2 = 64)
- Прибавь 1 (64 + 1 = 65)
- Прибавь 1 (65 + 1 = 66)
- Прибавь 1 (66 + 1 = 67)
- Прибавь 1 (67 + 1 = 68)
- Прибавь 1 (68 + 1 = 69)
- Прибавь 1 (69 + 1 = 70)
- Прибавь 1 (70 + 1 = 71)
- Прибавь 1 (71 + 1 = 72)
- Прибавь 1 (72 + 1 = 73)
- Прибавь 1 (73 + 1 = 74)
- Прибавь 1 (74 + 1 = 75)
- Прибавь 1 (75 + 1 = 76)
- Прибавь 1 (76 + 1 = 77)
- Прибавь 1 (77 + 1 = 78)
- Прибавь 1 (78 + 1 = 79)
- Прибавь 1 (79 + 1 = 80)
- Прибавь 1 (80 + 1 = 81)
- Прибавь 1 (81 + 1 = 82)
- Прибавь 1 (82 + 1 = 83)
Таким образом, программа будет выглядеть так: 2221111111111111111111
Но так как нам нужно не более 7 команд, то оптимальный вариант такой:
- Прибавь 1 (8 + 1 = 9)
- Умножь на 2 (9 * 2 = 18)
- Умножь на 2 (18 * 2 = 36)
- Прибавь 1 (36 + 1 = 37)
- Умножь на 2 (37 * 2 = 74)
- Прибавь 1 (74 + 1 = 75)
- Прибавь 1 (75 + 1 = 76)
- Прибавь 1 (76 + 1 = 77)
- Прибавь 1 (77 + 1 = 78)
- Прибавь 1 (78 + 1 = 79)
- Прибавь 1 (79 + 1 = 80)
- Прибавь 1 (80 + 1 = 81)
- Прибавь 1 (81 + 1 = 82)
- Прибавь 1 (82 + 1 = 83)
Программа: 1221111111111
Еще один вариант:
- Умножь на 2 (8 * 2 = 16)
- Прибавь 1 (16 + 1 = 17)
- Умножь на 2 (17 * 2 = 34)
- Прибавь 1 (34 + 1 = 35)
- Умножь на 2 (35 * 2 = 70)
- Прибавь 1 (70 + 1 = 71)
- Умножь на 2 (71 * 2 = 142) - перебор
Данный вариант не подходит.
Ответ: 1221111111111 или 2221111111111111111111