Форум » Динамическое программирование » Задание 23_номер 129. » Ответить

Задание 23_номер 129.

aei_73: Добрый день, помогите разобраться в чем ошибка и на питоне и в excel один и тот же ответ, но отличный от вашего. В чем моя ошибка? 129. (Е. Джобс) Исполнитель ЛенивыйСчетовод преобразует число, записанное на экране. У исполнителя есть три команды, которым присвоены номера: 1. Прибавить 2 2. Прибавить 3 3. Дописать к числу справа 1 Первая команда увеличивает число на 2, вторая – на 3, третья – приписывает к текущему значению цифру 1 (например, для 10 результатом выполнения данной команды будет 101). Сколько существует таких программ, которые исходное число 3 преобразуют в число 25, при этом траектория вычислений содержит число 12? def kp(x,t): if x==t: return 1 if x>t: return 0 if x<t: x1=bin(x)[2:] x2 =int(x1+'1',2) if x2%2!=0 : return kp(x+2,t)+kp(x+3,t)+kp(x2,t) else: return kp(x + 2, t) + kp(x + 3, t) print(kp(3,12)*kp(12,25)) У меня ответ 119, у вас 80.

Ответов - 3

polyakovss: В условии задачи не сказано, что 1 приписывают к двоичному представлению числа. Ее приписывают к текущему десятичному значению (например, 13 --> 131, 14 --> 141, ...). 80 - правильный ответ.

aei_73: Спасибо, с чего я решила, что двоичное представление сломала мозг в поиске ошибки

Алексей Комков: aei_73 пишет: Спасибо, с чего я решила, что двоичное представление сломала мозг в поиске ошибки Перепутали со следующими заданиями




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