• 海滩上有一堆桃子,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开始一个一个找,个人不是很理解这种做法,感觉很浪费时间

  • 相关阅读:
    Android之基于XMPP即时通讯(转)
    开机启动service小DEMO
    Android 歌词同步滚动效果(转)
    OC中的消息传递和初始化
    oc中对象的初始化
    c语言的结构体字节数统计
    css的页面布局
    说一说我理解的css
    什么是js闭包
    我对js作用域的理解
  • 原文地址:https://www.cnblogs.com/Mr-Y1907/p/12973789.html
Copyright © 2020-2023  润新知