五猴分桃如何用递归函数编程

#include <cstdlib>
#include <iostream>

using namespace std;

 

5只猴子摘了一堆桃子,约好第二天早上来分。第一只猴子来得早,它将桃子平分成成5堆,多出1个,它把多出的一个吃了,把属于自己的一堆拿走了,将剩下的还混成一堆,其他猴子来了也正好按一样的方法处理。编程求出原来最少有多少个桃子。(用递归函数。

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

posted @ 2013-09-18 16:46  godjob  Views(1274)  Comments(0Edit  收藏  举报