黑马程序员技术交流社区
标题:
如何用递归写
[打印本页]
作者:
longzonghai
时间:
2016-6-11 08:57
标题:
如何用递归写
海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子凭据分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中,拿走了一份,第三、第四、第五只猴子都是这样做的,问海滩上原来最少有多少个桃子?
作者:
孟小垚
时间:
2016-6-11 10:43
等大神回复
作者:
董立权
时间:
2016-6-11 13:02
/*
海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子凭据分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中,拿走了一份,第三、第四、第五只猴子都是这样做的,问海滩上原来最少有多少个桃子?
*/
#include <stdio.h>
int peach(int num){
int x=0;
if(num==1){
for ( x= 0; ; x++) {
if(((x-1)%5==0) && (x*5/4%5==0) &&((x*5/4+1)*5/4%5==0) && (((x*5/4+1)*5/4+1)*5/4%5==0) &&((((x*5/4+1)*5/4+1)*5/4+1)*5/4%5==0)){
return x;
}
}
}else{
return peach(num-1)*5/4+1;
}
return 0;
}
int main(){
int sum=peach(5);
printf("%d\n",sum);
}
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2