/
Raigis
/
Modul18
Обзор
Документация
Войти
/
Raigis
/
Modul18
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
main2.cpp
33 строки
1 KB
Raigis
Complete Third Task
15 окт 2024, 21:45
15 окт 2024, 21:45
a25c875
Код
Авторство
О чём код?
/* Кролик сидит на нулевой ступеньке большой лестницы. Он может прыгать на одну или более ступенек вверх, но не далее чем на k. Кролик хочет допрыгать до n-й ступеньки, но может сделать это большим количеством способов. Напишите рекурсивную функцию, которая принимает число n типа int и число k — максимальную длину прыжка, а возвращает количество способов, которым кролик может доскакать до n-й ступеньки. В функции для аргумента “максимальная длина прыжка” задать значение, по умолчанию равное 3. */ #include <iostream> int jumps (int n, int k = 3, int count = 0) { for (int i = k; i > 0; i--){ if (n - i > 0) { count = jumps((n-i), k, count); } else if (n - i == 0) { count++; } } return count; } int main () { std::cout << "Enter the number of steps and the maximum jump length(0 - none):\n"; int n, k; std::cin >> n >> k; std::cout << "The number of ways to get to the step " << n << ":\n"; if (k == 0) { std::cout << jumps(n); } else { std::cout << jumps(n, k); } return 0; }