C语言利用递归函数解决一个数学问题海滩上有一堆桃子,五只猴子来分,第一只猴子把这堆桃子凭据分成五分,多了一个,这只猴子就把多的一个扔到了海里!,拿走了一份,第二只猴子把剩下的桃

来源:学生作业帮助网 编辑:六六作业网 时间:2024/11/22 11:11:16
C语言利用递归函数解决一个数学问题海滩上有一堆桃子,五只猴子来分,第一只猴子把这堆桃子凭据分成五分,多了一个,这只猴子就把多的一个扔到了海里!,拿走了一份,第二只猴子把剩下的桃C语言利用递归函数解决一

C语言利用递归函数解决一个数学问题海滩上有一堆桃子,五只猴子来分,第一只猴子把这堆桃子凭据分成五分,多了一个,这只猴子就把多的一个扔到了海里!,拿走了一份,第二只猴子把剩下的桃
C语言利用递归函数解决一个数学问题
海滩上有一堆桃子,五只猴子来分,第一只猴子把这堆桃子凭据分成五分,多了一个,这只猴子就把多的一个扔到了海里!,拿走了一份,第二只猴子把剩下的桃子又平均分成五分,又多了一个,它同样把多的一个扔到了海里,拿走了一份,第三只,第四只,第五只都是这样做的,问海滩上原来有多少桃子
好象不对.
我是今天才学了怎么求n!的计算然后老师出的这题目
能不能给出完整的代码.

C语言利用递归函数解决一个数学问题海滩上有一堆桃子,五只猴子来分,第一只猴子把这堆桃子凭据分成五分,多了一个,这只猴子就把多的一个扔到了海里!,拿走了一份,第二只猴子把剩下的桃
#include
int test(int total,int count)
{
if(count == 6) //如果分五次之后仍满足要求,则该数为所求
{
return 1;
}
if(total % 5 != 1) //如果不满足分五分后剩一个则该数不满足要求
return 0;
else if( test((total-1) * 4 / 5,count+1)) //将该数的5分之1继续尝试分
{
printf("第%d次分时还剩%d个桃子\n",count,total);
return 1;
}
else return 0;
}
int main()
{
int i = 4;
while(1)
{
if(test(++i,1)) break; //看看此数是否能够符合题意
}
printf("the num is %d\n",i);
return 1;
}
//其实这题用递归不好