f(0,0)=0;
f(1,0)=0;//没有盘子
f(0,1)=1;//有盘子,没苹果
f(1,1)=f(1,0)+f(0,1)=1;
#include<iostream> using namespace std; int I, K;//I:苹果数,K:盘子数 int set(int I, int K){ if (I < K) return set(I, I); if (I == 0)//没有苹果,方法为1; return 1; if (K == 1)//一个盘子,方法为1; return 1; return set(I, K - 1) + set(I - K, K); } int main(){ //int i; //cin >> i; /*while (i--){*/ cin >> I >> K; cout << set(I, K)<<endl; //} cin.get(); cin.get(); return 0; }
来源:51CTO
作者:弥徒
链接:https://blog.csdn.net/qq_37292022/article/details/100806108