黑马程序员技术交流社区

标题: 一道逻辑方面的编程题。。。。 [打印本页]

作者: ts5210ts    时间: 2016-9-20 00:41
标题: 一道逻辑方面的编程题。。。。
有5个海盗,一堆椰子,一只猴子。开始分椰子,第一个海盗先把椰子分成相等的5份,刚好剩下一个给了猴子,然后自己拿走一份。第二个猴子也是一样,先把先把椰子分成相等的5份,刚好剩下一个给了猴子,然后自己拿走一份。5个海盗这个分完椰子后,大家一起再次分椰子,然后还是分成相等的5份,还是剩下一个,还是给了猴子。  问的是最少需要多少个椰子?

作者: 小小丶白    时间: 2016-9-20 20:43
[AppleScript] 纯文本查看 复制代码
package com.itheima.demo;

public class Demo5 {

        /**
         * @param args
         */
        public static void main(String[] args) {
                //需要椰子的数量
                int count = 0;
               
                while(true){
                        int temp = ++count;
                        if (divide(temp)) {
                                System.out.println(temp);
                                return;
                        }
                }
        }

        private static boolean divide(int temp) {
                for (int i = 0; i < 5; i++) {
                        if (temp % 5 == 1) {
                                temp = (temp - 1) / 5 * 4;
                        }else {
                                return false;
                        }
                }
                if (temp % 5 == 1) {
                        return true;
                }else {
                        return false;
                }
        }
}


结果是15621
第n位海盗
现有椰子数
每份椰子数量
给猴子的椰子数
所剩椰子数
1
15621
3124
1
12496
2
12496
2499
1
9996
3
9996
1999
1
7996
4
7996
1599
1
6396
5
6396
1279
1
5116


作者: ts5210ts    时间: 2016-9-20 23:23
牛逼  我只能这么说  




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