РЕШИТЬ ТОЛЬКО НА С++
Лесенки
Лесенкой называется набор кубиков, в котором каждый следующий горизонтальный слой содержит меньше кубиков, чем слой под ним.
Требуется подсчитать количество различных лесенок, которые могут быть построены ровно из N кубиков.
Входные данные
Вводится одно число N(1≤N≤50).
Выходные данные
Выведите искомое количество лесенок.
Примеры
Ввод
3
Вывод
2
Answers & Comments
Ответ:
#include <iostream>
using namespace std;
int func(int a, int b)
{
if(!b)
return 1;
int count = 0;
for(int i = 1; i < a; ++i)
if(b - i >= 0)
count += func(i, b - i);
return count;
}
int main()
{
int n;
cin >> n;
int count = 0;
for(int i = 1; i <= n; ++i)
count += func(i, n - i);
cout << count;
return 0;
}