АвтоАвтоматизацияАрхитектураАстрономияАудитБиологияБухгалтерияВоенное делоГенетикаГеографияГеологияГосударствоДомДругоеЖурналистика и СМИИзобретательствоИностранные языкиИнформатикаИскусствоИсторияКомпьютерыКулинарияКультураЛексикологияЛитератураЛогикаМаркетингМатематикаМашиностроениеМедицинаМенеджментМеталлы и СваркаМеханикаМузыкаНаселениеОбразованиеОхрана безопасности жизниОхрана ТрудаПедагогикаПолитикаПравоПриборостроениеПрограммированиеПроизводствоПромышленностьПсихологияРадиоРегилияСвязьСоциологияСпортСтандартизацияСтроительствоТехнологииТорговляТуризмФизикаФизиологияФилософияФинансыХимияХозяйствоЦеннообразованиеЧерчениеЭкологияЭконометрикаЭкономикаЭлектроникаЮриспунденкция

Прибавь 3

Читайте также:
  1. CLXXXIX
  2. DER JAMMERWOCH 7 страница
  3. III. Главная причина преждевременной старости, выпадения и поседения волос: средство сохранения молодости и красоты
  4. IX. ОБЫЧАИ, ПРАВИЛА И ГАДКИЙ УТЕНОК
  5. V. Первый месяц
  6. VIII. ЧУВСТВО ПРАВДЫ И ВЕРА
  7. XI. Представление
  8. XVI. ПОДСОЗНАНИЕ В СЦЕНИЧЕСКОМ САМОЧУВСТВИИ АРТИСТА
  9. XVII. БРЮЗГА
  10. Александр ПУШКИН
  11. Анатолий Эфрос 6 страница
  12. Б) Подсчитайте сумму баллов

которая преобразует число 2 в 50.)

Решение (вариант 1, «прямой ход»):

33) обратим внимание, что в условии ограничено число команд, поэтому неявно ставится задача написать самую короткую программу для решения задачи

34) начнем решать задачу, «отталкиваясь» от начального числа

35) на первом шаге с помощью имеющихся команд из числа 3 можно получить 6 или 12;

36) на втором шаге из 6 можно получить 9 и 12, а из 12 – 15 и 48, и т.д., получается такая схема (структура «дерево»), цифры около стрелок показывает номер выполненной команды:

37) уже чувствуется, что дерево сильно разрастается, на следующем уровне будет уже 8 вариантов, потом – 16 и т.д. (на каждом следующем уровне – в 2 раза большем, чем на предыдущем)

38) нужно выбрать такой план дальнейшего перебора вариантов, который может быстрее всего привести к цели (числу 57)

39) видим, что после второй операции ближе всего к результату оказалось число 48, попробуем начать анализ с этой ветки; если не получится – возьмем число 24 и т.д.

40) ветка дерева, начиная от числа 48, построена на рисунке справа; красный крестик показывает, что полученное значение превышает 57

41) итак, мы вышли на число 57 в результате такой последовательности команд: 22111, ее длина равна 5, что удовлетворяет условию задачи.

42) таким образом, правильный ответ – 22111.

Возможные ловушки и проблемы: · большую схему неудобно рисовать, в ней легко запутаться · не всегда можно сразу угадать нужную ветку «дерева», то есть, ту, которая быстрее всего приведет к успеху

 

Решение (вариант 2, «обратный ход»):

1) нам нужно увеличить число (с 3 до 57), для этого в большинстве случаев умножение эффективнее сложения, поэтому нужно постараться максимально использовать умножение, а сложение – только в крайних случаях

2) попробуем решить задачу «обратным ходом», начав с числа 57;

3) очевидно, что последней командой не может быть умножение на 4 (57 на 4 не делится), поэтому последняя команда – сложение (прибавь 3), над стрелкой записан номер команды:

4) число 54 также не делится на 4, поэтому предыдущая команда – тоже сложение:

5) аналогично для числа 51:

6) число 48 делится на 4, поэтому используем умножение:

7) наконец, добавив в начало программы еще одно умножение, получаем полную цепочку:

8) таким образом, правильный ответ – 22111, эта программа состоит из 5 команд.

Возможные ловушки и проблемы: · иногда может потребоваться «откат» назад, например, если исходное число – 6, то применив деление на 4 для 12 мы «проскакиваем» его (получаем 12/4=3<6), поэтому нужно возвращаться обратно к 12 и дважды применять сложение; в этом случае ответ будет такой:
Почему здесь «обратный ход» лучше?: · обратим внимание, что когда мы «шли» в обратном направлении, от конечного числа к начальному, часто очередную операцию удавалось определить однозначно (когда число не делилось на 4) · это связано с тем, что среди допустимых команд есть «не всегда обратимая» операция – умножение: умножить целое число на 4 можно всегда, а разделить нацело – нет; в подобных случаях результат быстрее получается именно «обратным ходом», во время которого сразу отбрасываются невозможные варианты

Еще пример задания:

У исполнителя, который работает с положительными однобайтовыми двоичными числами, две команды, которым присвоены номера:


1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 45 | 46 | 47 | 48 |

Поиск по сайту:



Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Студалл.Орг (0.005 сек.)