黑马程序员技术交流社区
标题:
一道经典问题!希望有详细的分析过程
[打印本页]
作者:
刘长辉
时间:
2013-7-1 15:01
标题:
一道经典问题!希望有详细的分析过程
在一个村里面有50个村民,每个村民都养了一条狗,已知这个村子一定有病狗,每个村民都有一把枪,
村民只能看别人的狗判断自己的狗是不是病狗,如果是病狗每天5点准时开枪打死,第一天没有开枪,第
二天没有开枪,第三天枪响了。问有多少只病狗?
作者:
肥猫
时间:
2013-7-1 15:09
这题目我是真没看懂,第一天,还是第几天有关系么?还5点?
作者:
极限冰风
时间:
2013-7-1 17:01
public static void main(String[] args) {
// TODO Auto-generated method stub
//定义一个变量来记录病狗的数量
int a=1;
/*
* 使用循环来记录每天的病狗;因为第一天只有一条狗被传染所以a=1,而是在第三天早上开的枪所以循环小于3
* 而每天都会有狗被传染,第一天1条,第二天变成2条,第三天变成4条以此类推来找到每天共有几条病狗结果为4条
* 以上是个人的想法;只做参考不一定对只是共同学习谢谢
*/
for (int i =1; i <3; i++) {
a=+a*2;
}
System.out.println(a);
}
复制代码
作者:
liujkh123
时间:
2013-7-1 17:04
设疯狗n只,因为必定有疯狗 n >= 1
第一天 有人看到n只,有人看到n-1只,但是大家都要猜测自己的狗是否为疯狗,如果n=1,很好,那个看到0个疯狗的人肯定立马杀狗了,但是没有人看到0个疯狗,所以n >= 2,所以这时候大家都知道肯定不止一个疯狗。
第二天,还是有人看到n只,有人看到n-1只,大家还是要判断自己的狗是否为疯狗,如果n=2,很好,那个只看到1个疯狗的人肯定立马杀狗了,因为第一天已经知道疯狗不止1个,你现在只看到一个疯狗,还有一个疯狗就是你家的了,但是第二天还是没有人杀狗,说明大家看到的都有两个或两个以上的疯狗,所以大家都有一个共识了,疯狗至少有三个
第三天, 枪响了,说明什么,说明有人只看到了2条疯狗,但是至少三条疯狗,哈哈 你家狗疯了,只能杀了。
作者:
杨翔
时间:
2013-7-1 17:22
极限冰风 发表于 2013-7-1 17:01
:lol强,这都能整出代码
作者:
神之梦
时间:
2013-7-1 20:17
我觉得度娘的解释,比较好理解些
http://baike.baidu.com/view/2292345.htm
作者:
神之梦
时间:
2013-7-1 20:18
极限冰风 发表于 2013-7-1 17:01
题目的愿意是不会传染
作者:
汪平乐
时间:
2013-7-1 21:56
神之梦 发表于 2013-7-1 20:18
题目的愿意是不会传染
给我版主你的QQ号:我358998716:汪平乐:handshake
作者:
刘长辉
时间:
2013-7-2 10:43
想让大家分析一下过程,其实我感觉答案是什么无所谓,这个题考的是情商不是智商
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2