猴子分桃

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

 

import java.util.*;
public class Test{
    public boolean isN(int n){
        int count=0;
        for(int i=0;i<5;i++){
            if((n-1)%5==0){
            count++;
            n=(n-1)/5*4;
            }
        }
        return count==5;
    }
    public static void main(String args[]){
        for(int i=0;i<10000;i++){
            if(new Test().isN(i))
            System.out.println(i+" ");
        }
    }
}
    /*----运行结果
    C:\>java Test
    3121
    6246
    9371
    */

 

//从后往前推 效率高
public class Test{ 
public static void main (String[] args) { 
int i,m,j=0,k,count; 
for(i=4;i<10000;i+=4) {
     count=0; 
     m=i; 
     for(k=0;k<5;k++) { 
         j=i/4*5+1; 
         i=j; 
         if(j%4==0) 
            count++; 
            else break; 
       } 
    i=m; 
    if(count==4) {
        System.out.println("原有桃子 "+j+" 个"); 
        break;
    } 
  } 
 } 
} 

 

posted @ 2013-03-16 14:37  LaoQuans  阅读(281)  评论(0编辑  收藏  举报