Исполнитель вычислитель умеет исполнять только две команды: умножать на 2 и прибавлять 1. составьте для вычислителя наиболее короткую программу получение из числа 1 чисел : 5, 50 ,99 .

salta19 salta19    1   25.07.2019 08:20    3

Ответы
Elizabeth191102 Elizabeth191102  24.09.2020 11:49
{0 - умножить на 2; 1 - прибавить 1}

5: 001 {1 - 2 - 4 - 5}
50: 0100010 {1 - 2 - 3 - 6 - 12 - 24 - 25 - 50}
99: 010000101 {1 - 2 - 3 - 6 - 12 - 24 - 48 - 49 - 98 - 99}

В данном случае достаточно просто идти с конца. Скажем, если есть число 99, очевидно, последней командой было "прибавить 1". Далее, 98 - может быть получено умножением на 2, и следует выбирать именно эту команду - программа точно не будет превосходить по размеру вариант, где последней операцией является сложение.
Например,
98 - 49 - 48 короче, чем
98 - 97 - 96 - 48
ПОКАЗАТЬ ОТВЕТЫ
Другие вопросы по теме Информатика