zoukankan      html  css  js  c++  java
  • 海滩上有一堆桃子,5只猴子来分 谈谈我的理解

    今天偶然看到了一个有意思的题目,原题如下

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

    解题如下

    public class FiveMonkeys {

    public static void main(String[] args) {
    //感觉需要怎么理解这个题目
    // 如果是最后一个猴子轮到它的时候,只有一个,那就要循环4次   轮到它的时候,只剩一个了
    // 如果是最后一个猴子也是分成五份,它取其中一份,把多余的一个丢了,那就是5次    轮到它的时候,它还能分成五份 然后扔一个 代表最少有6个
    System.out.println(technology(5)); // 第一种
    System.out.println(technology2(5));//第二种
    }

    private static int technology(int monkeysNum) {
    int count=1;//最少就是一个
    for(int i= 0;i<monkeysNum;i++) {

    count=count*5+1;

    }
    return count;

    }

    private static int technology2(int monkeysNum) {
    int count=1;//最少就是一个
    for(int i= 0;i<monkeysNum-1;i++) {

    count=count*5+1;

    }
    return count;

    }


    }

    还有一个方法是穷举法,就是从0开始一个一个找,个人不是很理解这种做法,感觉很浪费时间

  • 相关阅读:
    AutoCompleteTextView控件的使用
    menu菜单
    fragment之间的通信
    fragment的生命周期
    用模型取代字典的好处
    使用fragment兼容低版本的写法
    模拟微信主界面
    动态替换fragment
    fragment入门
    Spring MVC学习总结(1)——Spring MVC单元测试
  • 原文地址:https://www.cnblogs.com/Mr-Y1907/p/12973789.html
Copyright © 2011-2022 走看看