java 猴子与椰子!话说某天一艘海盗船被天下砸下来的一头牛给击中了,5个倒霉的家伙只好逃难到一个孤岛,发现岛上孤零零的,幸好有有棵椰子树,还有一只猴子?大家把椰子全部采摘下来放在一
来源:学生作业帮助网 编辑:作业帮 时间:2024/07/11 21:32:47
![java 猴子与椰子!话说某天一艘海盗船被天下砸下来的一头牛给击中了,5个倒霉的家伙只好逃难到一个孤岛,发现岛上孤零零的,幸好有有棵椰子树,还有一只猴子?大家把椰子全部采摘下来放在一](/uploads/image/z/12929758-70-8.jpg?t=java+%E7%8C%B4%E5%AD%90%E4%B8%8E%E6%A4%B0%E5%AD%90%21%E8%AF%9D%E8%AF%B4%E6%9F%90%E5%A4%A9%E4%B8%80%E8%89%98%E6%B5%B7%E7%9B%97%E8%88%B9%E8%A2%AB%E5%A4%A9%E4%B8%8B%E7%A0%B8%E4%B8%8B%E6%9D%A5%E7%9A%84%E4%B8%80%E5%A4%B4%E7%89%9B%E7%BB%99%E5%87%BB%E4%B8%AD%E4%BA%86%2C5%E4%B8%AA%E5%80%92%E9%9C%89%E7%9A%84%E5%AE%B6%E4%BC%99%E5%8F%AA%E5%A5%BD%E9%80%83%E9%9A%BE%E5%88%B0%E4%B8%80%E4%B8%AA%E5%AD%A4%E5%B2%9B%2C%E5%8F%91%E7%8E%B0%E5%B2%9B%E4%B8%8A%E5%AD%A4%E9%9B%B6%E9%9B%B6%E7%9A%84%2C%E5%B9%B8%E5%A5%BD%E6%9C%89%E6%9C%89%E6%A3%B5%E6%A4%B0%E5%AD%90%E6%A0%91%2C%E8%BF%98%E6%9C%89%E4%B8%80%E5%8F%AA%E7%8C%B4%E5%AD%90%3F%E5%A4%A7%E5%AE%B6%E6%8A%8A%E6%A4%B0%E5%AD%90%E5%85%A8%E9%83%A8%E9%87%87%E6%91%98%E4%B8%8B%E6%9D%A5%E6%94%BE%E5%9C%A8%E4%B8%80)
java 猴子与椰子!话说某天一艘海盗船被天下砸下来的一头牛给击中了,5个倒霉的家伙只好逃难到一个孤岛,发现岛上孤零零的,幸好有有棵椰子树,还有一只猴子?大家把椰子全部采摘下来放在一
java 猴子与椰子!
话说某天一艘海盗船被天下砸下来的一头牛给击中了,5个倒霉的家伙只好逃难到
一个孤岛,发现岛上孤零零的,幸好有有棵椰子树,还有一只猴子?
大家把椰子全部采摘下来放在一起,但是天已经很晚了,所以就睡觉先.
晚上某个家伙悄悄滴起床,悄悄滴将椰子分成5份,结果发现多一个椰子,顺手就给
了幸运的猴子,然后又悄悄滴藏了一份,然后把剩下滴椰子混在一起放回原处,最后
还是悄悄滴回去睡觉了.
过了会儿,另一个家伙也悄悄滴起床,悄悄滴将剩下滴椰子分成5份,结果发现多一
个椰子,顺手就又给了幸运的猴子,然后又悄悄滴藏了一份,把剩下滴椰子混在一起
放回原处,最后还是悄悄滴回去睡觉了.
又过了一会 ...
...
又过了一会 ...
总之5个家伙都起床过,都做了一样的事情 :blush;
早上大家都起床,各自心怀鬼胎的分椰子了,这个猴子还真不是一般的幸运,因为这
次把椰子分成5分后居然还是多一个椰子,只好又给它了.
这堆椰子最少有多少个?
用 java
java 猴子与椰子!话说某天一艘海盗船被天下砸下来的一头牛给击中了,5个倒霉的家伙只好逃难到一个孤岛,发现岛上孤零零的,幸好有有棵椰子树,还有一只猴子?大家把椰子全部采摘下来放在一
import java.util.GregorianCalendar;
public class peachdemo{
public static int I = 1;
public static int T = 1;//两个静态变量,用于记录运算次数
public static int getHai(int n,int a) {//根据输入的最后分配数和分配次数,查找可能是的初始数.
I++;//每进入方法一次,计数加1
int num = 5 * a + 1;
if (n == 0) {
return num;
} else {
return getHai(n - 1,num / 4);//第一次符合则继续向下递归
}
}
public static boolean isHai(int n,int a) {//判断所输入的数是不是符合分配规则
I++;//进入方法一次计数加1
T++;//直接判断时每进入一次计数加1
int num = a / 5;
if (a % 5 != 1)
return false;
else if (n == 0)
return true;
else {
return isHai(n - 1,4 * num);//一次符合时递归下次
}
}
public static void main(String[] args) {
int i = 1,sum = 0,n = 1,k = 1;
GregorianCalendar gc = new GregorianCalendar();
long time = gc.getTimeInMillis();
while (true) {//先查找可能符合标准的数,再判断是不是真的符合标准
sum = getHai(5,i);
if (isHai(5,sum)) {
System.out.println(sum + ":" + i + ":" + peachdemo.I);
break;
}
i++;//可直接记录查找次数
}
System.out.println(gc.getTimeInMillis() - time);//显示用时毫秒数
time = gc.getTimeInMillis();
while (true) {//用直接判断的方式查找
if (isHai(5,n)) {
System.out.println(n + ":" + k +":"+peachdemo.T);
break;
}
n += 5;//该数起码减1之后可以整除一次5,因而直接每次加5
k++;//记录运行次数
}
System.out.println(gc.getTimeInMillis() - time);
}
}
结果是:
15621:1023:8525
0
15621:3125:9417
0
这堆椰子最少 15621个.最后每人拿到的数量是 1023 个.