Перед каждым оператором возврата в функции добавьте два дополнительных оператора. Что-то вроде:

я построил эту программу для изготовления разных лестничных клеток. По сути, проблема заключается в следующем: учитывая целое число N, сколько разных способов вы можете построить лестницу. N гарантированно будет больше 3 и меньше 200. Любой предыдущий шаг не может быть больше, чем его следующий шаг, в противном случае он нарушает цель лестницы.

Таким образом, учитывая N = 3, вы можете построить одну лестницу: 2 шага, а затем 1 шаг после этого

Учитывая N = 4, вы можете построить одну лестницу: 3 шага, а затем 1 шаг после этого

Учитывая N = 5 Вы можете построить две лестницы: 3 шага, а затем 2 шага ИЛИ 4 шага, а затем 1 шаг.

Мой метод ниже, и он работает, за исключением того, что его время выполнения слишком медленное. Так что я думал о попытке сделать памятку для метода, но, честно говоря, я не до конца понимаю, как это реализовать. Если бы я мог получить помощь, как это сделать, это было бы здорово.

public static void main(String [] args)
{
    System.out.println(answer(200));
}
public static int answer(int n) { 
    return bricks(1,n) -1;
}
public static int bricks(int height, int bricksLeft)
{
    if(bricksLeft == 0)
    {
        return 1;
    }
    else if(bricksLeft < height)
    {
        return 0;
    }
    else
    {
        return bricks(height +1, bricksLeft - height) + bricks(height +1, bricksLeft);
    }
}

Ответы на вопрос(2)

Ваш ответ на вопрос