Контрольные задания > 3. У исполнителя Делитель две команды, которым присвоены номера:
1. раздели на 2
2. прибавь 1
Первая из них уменьшает число на экране в 2 раза, вторая увеличивает его на 1.
Исполнитель работает только с натуральными числами.
Составьте алгоритм получения из числа 89 числа 24, содержащий не более 5 команд. В ответе запишите только номера команд.
Вопрос:
3. У исполнителя Делитель две команды, которым присвоены номера:
1. раздели на 2
2. прибавь 1
Первая из них уменьшает число на экране в 2 раза, вторая увеличивает его на 1.
Исполнитель работает только с натуральными числами.
Составьте алгоритм получения из числа 89 числа 24, содержащий не более 5 команд. В ответе запишите только номера команд.
Ответ:
Для получения числа 24 из числа 89, используя команды 'раздели на 2' и 'прибавь 1', нужно построить алгоритм, учитывая что при делении может быть остаток, и мы работаем только с целыми числами. Начнем с обратного пути:
1. Чтобы получить 24, предыдущее могло быть 23(24-1) или 48 (24*2).
2. Для 23, только 46. Для 48 - это 47 или 96.
3. Для 46 это 45 или 92. Для 47 это 46 или 94. Для 96 - 95 или 192.
4. Теперь идем от 89.
1. 89+1=90 или 89/2 = 44(остаток 1 не учитываем)
2. 90/2 = 45 или 44/2 = 22.
3. 45/2 = 22 или 22/2 = 11
4. Начнем путь заново:
1. 89-1 не можем так как делим только на 2.
2. 89 / 2 = 44 (округление вниз).
3. 44 / 2 = 22.
4. 22 + 1 = 23
5. 23 + 1 = 24.
Итак, последовательность команд: 1, 1, 2, 2. Нам нужно 5 команд.
Попробуем еще раз
1. 89/2 = 44
2. 44 /2 = 22
3. 22+1 = 23
4. 23+1=24
Это 4 команды. Нам нужно 5.
Надо еще раз пересмотреть.
1. 89 /2 = 44
2. 44+1 = 45
3. 45 / 2 = 22
4. 22+1 = 23
5. 23+1=24
Последовательность команд: 1, 2, 1, 2, 2.
Ответ: "1, 2, 1, 2, 2"