Форум » Выполнение и анализ алгоритмов для исполнителей » Задание 47 раздел 22 » Ответить

Задание 47 раздел 22

ceed: 47) Исполнитель А13S преобразует целое число, записанное на экране. У исполнителя три команды, каждой команде присвоен номер: 1. Прибавь 1 2. Прибавь 3 3. Прибавь предыдущее Первая команда увеличивает число на экране на 1, вторая увеличивает это число на 3, третья прибавляет к числу на экране число, меньшее на 1 (к числу 3 прибавляется 2, к числу 11 прибавляется 10 и т. д.). Программа для исполнителя А13S – это последовательность команд. Сколько существует программ, которые число 2 преобразуют в число 10? Мое решение не сходится с ответом: Число-Кол-во программ 2-1 3-2 4-3 5-6 6-8 7-11 8-17 9-25 10-36 Однако правильный ответ 39.

Ответов - 35, стр: 1 2 3 All

MEA: Нет

alspay: не понимаю.... MEA, а как Вы тогда получаете 8 - 16 и 9 - 28?

MEA: 8= 7+1; 8= 5+3 9=8+1; 9= 6+3; 9=5+ 4


alspay: так.... значит все таки проблема в начале))) почему мы используя команду "прибавь предыдущее" можем выходить за пределы числового ряда, а в командах +1 и + 3 не можем?

MEA: Мы не выходим из ряда ни в начале, ни в середине, ни в конце. Получаем из одного числа, а не двух.

alspay: Если мы попробуем нарисовать дерево решений, из 2 выходит 2 ветки с результатом 3 первую мы подпишем "+1"... здесь вопросов нет.... как мы подпишем вторую? если все сводить к формулам, вопросов нет... 3 мы получаем 2 способами... но если решать "логически" (по формулировкам) то как получить 2 способа на 3....

MEA: Решаем строго по условию.

alspay: хм... я про условие и говорю... у числа "2" предыдущее это число "1"... но по условию, мы начинаем отсчет от "2", т.е. числа "1" в нашем числовом ряду нет. тогда какую 1 мы прибавляем к "2" для получения второго способа?

MEA: ceed пишет: Первая команда увеличивает число на экране на 1, вторая увеличивает это число на 3, третья прибавляет к числу на экране число, меньшее на 1 (к числу 3 прибавляется 2, к числу 11 прибавляется 10 и т. д.) у "числа на экране" есть "число на 1 меньшее", чем число на экране

alspay: и мы опять возвращаемся к тому же... почему нельзя тогда взять для команд +1 и +3 "числа на 1(3) меньшее, чем число на экране"? или почему мы берем число "1", т.е. число на 1 меньшее, чем число на экране при нашем условии, что начинаем мы с "2", т.е чисел до "2" для нас не существует?

MEA: В условии задачи мы получаем новое число из ОДНОГО числа, а не из двух. Почему команда +1 Вас не смущает, ведь Единицы нет в ряду? А прибавить число предыдущее числу на экране вызывает дополнительные мысли и условия, которых НЕТ в задании?

alspay: неее... формулировка "Прибавь предыдущее" подразумевает работу с ДВУМЯ числами, ТЕКУЩИМ И ПРЕДЫДУЩИМ... тогда формулировка "Прибавь предыдущее" не совсем корректна, и должна быть заменена...

MEA: Нет, там есть пояснение по тому, что такое "предыдущее" ведь для 5 можно сказать, что предыдущее 2, т.к. было на предыдущем шаге. В условии все точно и еще и пояснение дано. "число на экране" Вот из него и получаем по описанным правилам: x+1, x+3, x+(x-1)

alspay: хм... у нас динамическое программирование.... берем массив... нам надо прибавить к элементу массива элемент, индекс которого на 1 меньше... какой элемент мы прибавим к 2?

MEA: число на экране - это не индекс, а значение элемента массива.



полная версия страницы