注册 登录
编程论坛 C++教室

[求助]五猴分桃如何用递归函数编程

huwangvs 发布于 2007-02-04 12:56, 1573 次点击
5只猴子摘了一堆桃子,约好第二天早上来分。第一只猴子来得早,它将桃子平分成成5堆,多出1个,它把多出的一个吃了,把属于自己的一堆拿走了,将剩下的还混成一堆,其他猴子来了也正好按一样的方法处理。编程求出原来最少有多少个桃子。(用递归函数。)
题目要求用递归函数做,小弟想半天没想出来,请高手指教
3 回复
#2
lc80232007-02-04 19:39

代码怎么沾不近来啊~~~~~!

#3
lc80232007-02-04 19:42

#include <cstdlib>
#include <iostream>

using namespace std;

void GetTotal(int & bs,int & tp);
int main(int argc, char *argv[])
{
int last = 1;
int temp = 1;
GetTotal(last,temp);
cout << "总共有: "<<last <<"桃子\n";
system("PAUSE");
return EXIT_SUCCESS;
}
void GetTotal(int & bs,int & tp)
{
if(tp<6)
{
bs = bs*5+1;
++tp;
GetTotal(bs,tp);
}
}

好了,你看我理解的对不对!!!1

#4
huwangvs2007-02-05 12:30
bs是最后一只猴子拿走的桃子吗?
bs*5+1是它分桃的总数是吧?
那下一轮的bs*5+1是什么啊?
能解释一下这里吗?
迷糊
1