沧海一声喵 2018-02-27 20:00:27
点我顶贴
收藏
删除
#include <cstdio>
using namespace std;
int n,sum=0,d,a[130];
void f(int k){
int i,p=a[k-1],m=d,h=n-d;
if(!h){
sum++;return;}
if(h<=p) return;
for(i=p+1;i<=h;i++){
if(d+i<=n){
a[k]=i;d+=i;
f(k+1);}
d=m;}}
int main(){
int i,p;
scanf("%d",&n);
p=n/2;
for(i=1;i<=p;i++){
a[1]=i;
d=i;f(2);}
printf("%d",sum);
return 0;}