Классно, давай разберёмся по шагам и подсказку дам так, чтобы можно было посчитать самому.
Краткая идея
- траекторию нужно разбить через число 14: путь 3 → … → 14 → … → 21.
- число программ равно произведению количества валидных путей от 3 до 14 и от 14 до 21, при условии, что в пути через вторую часть не попадём в число 18.
- Пусть f(x, fin) — количество путей от x до fin, используя шаги +1 и +3, с ограничением не уходить за fin и не заходить в 18 (если x = 18, путь запрещён).
Подсказка по формуле
- f(x, fin) = 0, если x > fin или x = 18
- f(fin, fin) = 1
- иначе f(x, fin) = f(x+1, fin) + f(x+3, fin)
Что считать по частям
- A = f(3, 14): количество путей от 3 до 14.
- B = f(14, 21): количество путей от 14 до 21, не проходящих через 18.
- Ответ = A * B.
Математическое подтверждение (для примера чисел)
- Для A: вычисления дают f(3,14) = 41.
- Для B: вычисления дают f(14,21) = 3.
- Тогда итог: 41 * 3 = 123.
Итого: твой ответ сейчас — "Ученик не дал ответ" — не подходит, потому что задача требует получить конкретное число. Попробуй применить подсказку и посчитай по формулам, получится 123.
Если хочешь, могу пройтись по каждому шагу вычисления A и B подробнее или проверить твой промежуточный ход.
Поставь лайк, если помогло, или дизлайк, если нужно больше примеров.