题目描述
使用递归编写一个程序,求一个正整数n的所有划分个数。
例如,输入3,输出3;输入4,输出5。
输入
多组输入,每一组是一个正整数n。
输出
输出划分数。
样例输入 Copy
3 4
样例输出 Copy
3 5
#include <stdio.h>
#include <stdlib.h>
long long int q(int n,int m){
if((n==1)||(m==1)){
return 1;
}else if(n<m){
return q(n,n);
}else if(n==m){
return 1+q(n,n-1);
}else if(n>m&&m>1){
return q(n,m-1)+q(n-m,m);
}
}
int main(){
int i;
long long int sum=0;
while(~scanf("%d",&i)){
sum=q(i,i);
printf("%lld\n",sum);
}
return 0;
}