У исполнителя Прибавитель две команды которым присвоены номера: 1. Прибавить 1 2. Увеличить старшую цифру числа на 1 Первая из них увеличивает число на экране на 1, а вторая увеличивает на один старшую цифру числа. Например с ее помощью 22 превращается в 32. Программа для прибавителя это последовательность команд. Подскажите пожалуйста сколько существует команд превращающих число 15 в число 38ю И как это обосноват И сколько всего таких программ задан 28 Май '12 12:50 Хабиб Муртаз... |
Минимальное число команд для 15 ->38: 1. (2), {15 -25); 2. (2), {25 -35); 3. (1), {35 -36); 4. (1), {36 -37); 5. (1), {37 -38). В круглых скобках - команда; в фигурных - результат выполнения команды. Т.о. минимальное число шагов программы - 5. Если Вам нужно количество реализаций, то их будет 1 ( все команды (1)) + 14 ( только одна команда (2), остальные (1))+10 (две команды (2), остальные (1))=25. Это с учетом размещения команды (2). Без учета номера места на котором стоит команда (2),таких программ будет три. Уточняйте вопрос и выбирайте то, что Вам нужно (программу с минимальным числом команд или число реализаций с определенными условиями). отвечен 28 Май '12 13:08 Anatoliy Добавлю только, что программ по их сочетаниям будет три: увеличение на единицу 23 раза подряд, увеличение старшего порядка на единицу с последующим увеличением числа на единицу 13 раз подряд, увеличение старшего порядка два раза на единицу с последующим увеличением самого числа на единицу три раза подряд. Если считать по размещениям, то нужно посчитать ещё возможные варианты перестановок действий для второго и третьего случая. Считаем не по размещениям, а по сочетаниям PS. Надеюсь я понятно выразился
(28 Май '12 13:35)
Limit-Sun
|