Автор | Сообщение |
|
Отправлено: 19.04.22 21:45. Заголовок: ege23 №187
Лягушке нужно добраться до укрытия, избегая опасностей. У Лягушки есть три действия: 1. Короткий прыжок +2 2. Длинный прыжок +3 3. Избежать опасности 2n Первые два действия увеличивают позицию Лягушки на 2 и 3 соответственно. Третье действие можно применить только тогда, когда Лягушка находится в нечетной позиции — позиция N преобразуется в позицию 2N, позволяя Лягушке избежать опасности. Лягушка была замечена на расстоянии 3. Сколько существует различных путей Лягушки к укрытию в позиции 46, каждый их которых содержит не более двух действий «Избежать опасности»? Мой код: def F(x, y, n): if x == y and n <= 2: return 1 elif x > y or n > 2: return 0 else: if x % 2 == 1: return F(x * 2, y, n + 1) else: return F(x + 2, y, n) + F(x + 3, y, n) print(F(3, 46, 0)) Мой ответ: 9 Правильный ответ: 126798 Не понимаю, где у меня ошибка
|
|
|
Ответов - 3
[только новые]
|
|
|
| Администратор
|
Сообщение: 3492
|
|
Отправлено: 20.04.22 12:15. Заголовок: В нечетных позициях ..
В нечетных позициях вы блокируете две первые команды.
|
|
|
|
Отправлено: 08.04.23 07:26. Заголовок: if x % 2 !=0: ..
if x % 2 !=0: return F(x * 2, y, n + 1) + F(x + 2, y, n) + F(x + 3, y, n) else: return F(x + 2, y, n) + F(x + 3, y, n)
|
|
|
|
Отправлено: 08.04.23 07:26. Заголовок: if x % 2 !=0: ..
if x % 2 !=0: return F(x * 2, y, n + 1) + F(x + 2, y, n) + F(x + 3, y, n) else: return F(x + 2, y, n) + F(x + 3, y, n)
|
|
|
|