Решение задачи №16 «Лесенка» с ACMP





Решение задачи №16 «Лесенка» с ACMP

Условие задачи

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

Входные данные
Во входном файле INPUT.TXT записано натуральное число N (1 ≤ N ≤ 100) – количество кубиков в лесенке.

Выходные данные
В выходной файл OUTPUT.TXT необходимо вывести число лесенок, которые можно построить из N кубиков.

#include <iostream>
#include <math.h>
#include <bits/stdc++.h>
using namespace std;
int d=0;
void b(int p, int q){
for (int i=p; i<=q; i++){
b(i+1,q-i);
}
if (q==0){
d++;
}

}
int main(){
int n;
cin>>n;
b(1,n);
cout<<d;
return 0;
}



Условия задач взяты с сайта acmp.ru