/* * @Description: If you get question about the code, contact me at **********. * @Author: pengjunxing * @Date: 2023-02-08 14:47:20 * @LastEditors: pengjunxing * @LastEditTime: 2023-02-10 19:21:19 */ #include<iostream> using namespace std; int fun(int apple,int pan) { //递归法 //递归出口1为:苹果数或盘子数为1时,这时算一种情况 //递归出口2为:盘子数或苹果数小于零时,此时不符合实际返回0 //递归表达式:apple个苹果放在n-1个盘子+ if(apple<0||pan<0) { return 0; } else if(apple==1||pan==1) { return 1; } else { return fun(apple,pan-1)+fun(apple-pan,pan); } } int main() { int num1,num2; cin>>num1>>num2; cout<<fun(num1,num2); }