黑马程序员技术交流社区

标题: 如何用递归写 [打印本页]

作者: longzonghai    时间: 2016-6-11 08:57
标题: 如何用递归写
海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子凭据分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中,拿走了一份,第三、第四、第五只猴子都是这样做的,问海滩上原来最少有多少个桃子?   
作者: 孟小垚    时间: 2016-6-11 10:43
等大神回复
作者: 董立权    时间: 2016-6-11 13:02
  1. /*

  2. 海滩上有一堆桃子,五只猴子来分。第一只猴子把这堆桃子凭据分为五份,多了一个,这只猴子把多的一个扔入海中,拿走了一份。第二只猴子把剩下的桃子又平均分成五份,又多了一个,它同样把多的一个扔入海中,拿走了一份,第三、第四、第五只猴子都是这样做的,问海滩上原来最少有多少个桃子?
  3. */


  4. #include <stdio.h>
  5. int peach(int num){
  6.     int x=0;
  7.     if(num==1){
  8.         for ( x= 0; ; x++) {
  9.             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)){
  10.                 return x;
  11.             }
  12.         }
  13.     }else{
  14.         return peach(num-1)*5/4+1;
  15.     }
  16.    
  17.     return 0;
  18. }

  19. int main(){
  20.     int sum=peach(5);
  21.     printf("%d\n",sum);
  22.    
  23. }
复制代码






欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2