mealex 47 Жалоба Опубликовано: May 4, 2012 У исполнителя Калькулятор две команды, которым присвоены номера: 1. прибавь 3 2. умножь на 4 Выполняя первую из них, Калькулятор прибавляет к числу на экране 3, а выполняя вторую, умножает его на 4. Запишите порядок команд в программе получения из числа 3 числа 57, содержащей не более 6 команд, указывая лишь номера команд. (Например, программа 21211 это программа умножь на 4 прибавь 3 умножь на 4 прибавь 3 прибавь 3 которая преобразует число 2 в 50.) Решение (вариант 2, «обратный ход»): 1) нам нужно увеличить число (с 3 до 57), для этого в большинстве случаев умножение эффективнее сложения, поэтому нужно постараться максимально использовать умножение, а сложение – только в крайних случаях 2) попробуем решить задачу «обратным ходом», начав с числа 57; 3) очевидно, что последней командой не может быть умножение на 4 (57 на 4 не делится), поэтому последняя команда – сложение (прибавь 3): 54-->57 4) число 54 также не делится на 4, поэтому предыдущая команда – тоже сложение: 51-->54-->57 5) аналогично для числа 51: 48-->51-->54-->57 6) число 48 делится на 4, поэтому используем умножение: 12-->48-->51-->54-->57 7) наконец, добавив в начало программы еще одно умножение, получаем полную цепочку: 3-->12-->48-->51-->54-->57 8) таким образом, правильный ответ – 22111, эта программа состоит из 5 команд. ------------------------------------------------------------------------------------------------------------------------------------------------------------------- Исполнитель Робот ходит по клеткам бесконечной вертикальной клетчатой доски, переходя по одной из команд вверх, вниз, вправо, влево в соседнюю клетку в указанном направлении. Робот выполнил следующую программу: вправо вверх влево влево вниз вниз вправо вправо вправо вниз влево Укажите наименьшее возможное число команд в программе, переводящей Робота из той же начальной клетки в ту же конечную 1)отметим, что в условии ничего не говорится о стенках, то есть, молчаливо предполагаем, что их нет 2) можно повторить все движения Робота на бумажке и посмотреть, куда он уйдет; 3) поскольку Робот не может ходить по диагонали, для перехода из начальной точки в конечную кратчайшим путем ему нужно выполнить, например, такую программу: вниз вниз вправо 4)есть и другие варианты (попробуйте их найти!), но все они содержат 3 команды: одну команду вправо и две команды вниз 5)таким образом, ответ – 3. №3. У исполнителя Калькулятор две команды, которым присвоены номера: 1. прибавь 2 2. умножь на 3 Выполняя первую из них, Калькулятор прибавляет к числу на экране 2, а выполняя вторую, умножает его на 3. Запишите порядок команд в программе получения из числа 0 числа 28, содержащей не более 6 команд, указывая лишь номера команд. (((0+2)*3+2)*3)+2+2 Ответ: 121211 1 admin reacted to this Цитата Share this post Link to post Share on other sites
admin 1,298 Жалоба Опубликовано: May 23, 2012 UP. №3 помогите У меня получилось: (2+2)*3*3+2 => 11221 . Правильно? Цитата Share this post Link to post Share on other sites
Said 34 Жалоба Опубликовано: May 23, 2012 Нет, по твоей программе 38 получается. Правильно - 121211 1 admin reacted to this Цитата Share this post Link to post Share on other sites
admin 1,298 Жалоба Опубликовано: May 23, 2012 121211 0 + 2*3 +2*3 +2 = 14, а не 28. Разве не? Цитата Share this post Link to post Share on other sites
Said 34 Жалоба Опубликовано: May 23, 2012 нет (((0+2)*3+2)*3)+2+2 1 admin reacted to this Цитата Share this post Link to post Share on other sites
admin 1,298 Жалоба Опубликовано: May 23, 2012 Мы всегда после каждого шага закрываем все скобками..? Цитата Share this post Link to post Share on other sites
Said 34 Жалоба Опубликовано: May 23, 2012 ну мы же умножаем уже полученный результат Цитата Share this post Link to post Share on other sites
admin 1,298 Жалоба Опубликовано: May 23, 2012 ясно теперь. Спасибо огромное! Цитата Share this post Link to post Share on other sites
Said 34 Жалоба Опубликовано: May 23, 2012 Пожалуйста, обращайся) Цитата Share this post Link to post Share on other sites