题目描述
yyf得到了一批苹果,他可以将其中不超过一半的苹果分给他的一个好朋友,也可以全部留着自己吃。而他的好朋友同样可以将他得到的苹果分给其他的一个人,也可以自己留着。并一直这样分,知道不能再分;求共有多少种分法;例如yyf得到了6个苹果,分法如下:
6;
6 3;
6 3 1;
6 2;
6 2 1;
6 1;所以共有6种分法
输入描述
n表示yyf得到了n个苹果
输出描述
分法总数
#include<stdio.h>
void digui(int a,int b,int *p);
int main(){
int n,m,sum=0;
scanf("%d",&n);
m=n;
int *p=∑
digui(m,n,p);
printf("%d",sum);
return 0;
}
void digui(int a,int b,int *p){
if(b==0||b==1){
(*p)++;
}
else{
digui(a,b/2,p);
}
if(b!=a&&b!=0){
while(b!=0){
b--;
a=b;
digui(a,b,p);
}
}
}