Форум » Динамическое программирование » Задача 3712 из Генератора » Ответить

Задача 3712 из Генератора

wacsa: Несколько раз перерешиваю задачу 3712 из Генератора вариантов. В моем решении получается ответ 347, а опубликованный ответ 343. Может ли быть ошибка?

Ответов - 8

Поляков: Может. Показывайте ваше решение.

wacsa: Добрый день. Я вчера отправила своё решение. Вернее, ссылку на файл в облаке https://cloud.mail.ru/public/EDM1/QmifhPJwa Решала в Excel У меня не сходится ответ с опубликованным. Проверьте меня.

wacsa: Не соображу, как по другому отправить файл. Разместила в облаке https://cloud.mail.ru/public/EDM1/QmifhPJwa


MrAndrewson: Решение программой дает ответ 343 [pre2]def f(s, e): if s == e: return 1 if s < e: return 0 return f(s - 1, e) + f(s // 2, e) start = int('110111', 2) finish = int('110', 2) print(f(start, finish))[/pre2]

wacsa: Возможно. Но так хочется найти свой просчёт.

wacsa: В 3 строке я считаю количество способов получить соответствующее число. Его я могу получить 1) из предыдущего результата и 2) если такое возможно, то еще из пары результатов отбрасыванием правой цифры (это число способов я считаю в 4 строке, начиная с числа 11011). Я нашла ошибку. Формула в одном месте криво скопировалась. Спасибо, что уделили внимание.

MrAndrewson: Можете подсказать, что вы считаете и как в строке 3 и в строке 4?

wacsa: Ошибку в своем решении нашла https://cloud.mail.ru/public/EDM1/QmifhPJwa Вопрос снимается. Спасибо за участие.



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