3.3-递归-放苹果

匿名 (未验证) 提交于 2019-12-03 00:04:02

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; }

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!