Вопрос Дайте команду на питоне,дающую ответ на это задание.хочу разобраться в принципе решения(python)

Регистрация
10 Дек 2013
Сообщения
109
Репутация
-4
Спасибо
0
Монет
0
У исполнителя Калькулятор две команды, которым присвоены номера:

1. прибавь 1

2. увеличь число десятков на 1

Например: при помощи команды 2 число 23 преобразуется в 33. Если перед выполнением команды 2 вторая с конца цифра равна 9, она не изменяется. Сколько есть программ, которые число 12 преобразуют в число 36?
 
t = [0] * 37
t[12] = 1
for i in range(13, 37): t = t[i - 1] + t[i - 10]
print(t[36]) Дополнительное условие проверять не имеет смысла, т.к. "вторая с конца цифра" на данном диапазоне никогда не равна 9.

Комбинаторикой.
Нам надо прибавить 24. Это 24 * 1, 1 * 10 + 14 * 1 (15 команд), 2 * 10 + 4 * 1 (6 команд).
Только единицами - 1 вариант.
Одна десятка - 15 вариантов (десятка на любой из 15 позиций).
Две десятки - 6 * 5 / 2 = 15 вариантов (две десятки на 6 позициях).
Итого: 31.
 
О нет информатика опять здесь
 
Это задача на комбинаторику. Я формулу не вспомню, не любил это дело никогда. Просто выпиши все возможные программы и посчитай:
111122
111212
112112
...
111221
112121
...
221111
 
ну и, в чем проблема?
12 + 10 + 10 = 32
32 + 1 + 1 + 1 + 1 = 36
2+4 = 6 команд
-------
но честно говоря, задание как-то по тупому написано
 
Назад
Сверху