Решение задачи Лесенка с Acmp

Без пояснения   Просмотров: 126


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

Код

#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;
}

         

Администратор Photo Автор: Администратор



Комментарии

Чтобы написать комментарии вам нужно войти в систему или зарегистрироваться