五猴分桃如何用递归函数编程
#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);
}
}