一道小学杀狗的问题!
今天偶然看见以前的一个杀狗的小学题目!
题目是:
1000只狗,从第一头起杀,每隔一头杀一头(数到底后从第一头重新开始杀),最后只留一只是活的,请问这是第几只狗?
这里俺也发表一下自己的做法。
-------------------------------------------------------
很简单的一个逻辑是这样的。
我们来像这样一个简单的问题
10只狗杀第一轮
杀了1,3,5,7,9 剩下2,4,6,8
第二轮
杀了2,6 剩下4,8
第三轮
杀了4 剩下8
现在再来看看每次剩下数字的特点
第一轮剩下的数字都是2的倍数
第二轮剩下的数字都是4的倍数
第三轮,也就是10只狗的情况剩下的是8的倍数
也就是说1000只狗最后剩下的一只狗一定是2的N次幂,N满足2的N次方最大
也就是512
---------------------------------------------------------------------------------
所以10000条狗的答案是8192,100000条的答案是65536,1000000条的答案是52488。
题目是:
1000只狗,从第一头起杀,每隔一头杀一头(数到底后从第一头重新开始杀),最后只留一只是活的,请问这是第几只狗?
这里俺也发表一下自己的做法。
-------------------------------------------------------
很简单的一个逻辑是这样的。
我们来像这样一个简单的问题
10只狗杀第一轮
杀了1,3,5,7,9 剩下2,4,6,8
第二轮
杀了2,6 剩下4,8
第三轮
杀了4 剩下8
现在再来看看每次剩下数字的特点
第一轮剩下的数字都是2的倍数
第二轮剩下的数字都是4的倍数
第三轮,也就是10只狗的情况剩下的是8的倍数
也就是说1000只狗最后剩下的一只狗一定是2的N次幂,N满足2的N次方最大
也就是512
---------------------------------------------------------------------------------
所以10000条狗的答案是8192,100000条的答案是65536,1000000条的答案是52488。
没有找到相关结果
已邀请:
9 个回复
geminibeing (威望:0) (河南 ) 家电或电器 员工 -
赞同来自: