Cколько различных способов есть у зайца добраться до вершины лестницы - C#

Узнай цену своей работы

Формулировка задачи:

1. В нашем зоопарке появился заяц. Его поместили в клетку, и чтобы ему не было скучно, директор зоопарка распорядился поставить в его клетке лесенку. Теперь наш зайчик может прыгать по лесенке вверх, перепрыгивая через ступеньки. Лестница имеет определенное количество ступенек N. Заяц может одним прыжком преодолеть не более К ступенек. Для разнообразия зайчик пытается каждый раз найти новый путь к вершине лестницы. Директору любопытно, сколько различных способов есть у зайца добраться до вершины лестницы при заданных значениях K и N. Помогите директору написать программу, которая поможет вычислить это количество. Например, если K=3 и N=4, то существуют следующие маршруты: 1+1+1+1, 1+1+2, 1+2+1, 2+1+1, 2+2, 1+3, 3+1. Т.е. при данных значениях у зайца всего 7 различных маршрутов добраться до вершины лестницы. Скиньте код с комментариями, пожалуйста)))

Решение задачи: «Cколько различных способов есть у зайца добраться до вершины лестницы»

textual
Листинг программы
using System;
 
class Program
{
    public static int Rabbit(int n, int k)
    {
        if (n < 0) return 0; // мы получили отрицательное число, значит в лестнице было меньше ступеней, чем была длина прыжка, этот способ добраться до вершины лестницы не работает
        if (n == 0) return 1; // мы не вершине лестницы, предыдущий прыжок привел нас к цели
        int s = 0; // считаем количество способов для текущей лестницы
        for (int i = 1; i <= k; i++) // пробуем все варианты прыжков
        {
            s += Rabbit(n - i, k); // совершив прыжок на i ступеней, мы получим ту же задачу, но с лестницей, в которой n - i ступеней
        }
        return s;
    }
 
    public static void Main()
    {
        Console.WriteLine(Rabbit(4, 3));
    }
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

12   голосов , оценка 3.75 из 5
Похожие ответы