| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 862 人关注过本帖
标题:一道关于杀狼的算法题
取消只看楼主 加入收藏
vdestroyer
Rank: 2
等 级:论坛游民
帖 子:136
专家分:14
注 册:2009-1-7
结帖率:96.43%
收藏
已结贴  问题点数:20 回复次数:1 
一道关于杀狼的算法题
在一个森林里,有一群狼。因为这群狼的数量过多,现在决定大规模杀狼。
目标是,把这群狼杀到刚好剩42只为止。
但是,杀的方法有些讲究。

如果说,这群狼一共有 n 只,那么:
·如果n是偶数,那么可以杀掉一半的狼
·如果n可以被3并且/或者4整除,那可以把n的最后两位数字 的乘积的这个数字设为 a,杀掉a只狼(这里可能没说清楚,没关系,后面有例子)
·如果n可以被5整除,那么可以杀掉42只狼。

一个例子:
开始有250只狼
·250可以被5整除,所以我们可以用250 - 42 还剩下208只狼
·208是偶数,所以可以杀掉一半,还剩104只狼
·104是偶数,所以可以再一次杀掉一半,还剩52只狼
·52可以被4整除,用52的最后两位数字,5和2,相乘。 得出,5 * 2 = 10,用52 - 10 刚好等于42
通过这种方式,就能刚好让这群狼剩下42只


写一个程序,输入一群狼最开始的数量,让程序回答,是否能杀到刚好剩42只。
(换句话说,有些输入数据,是肯定不能杀到剩42只的)

为了方便测试,给两个例子:
多少只狼? 7762
不能达到目标

多少只狼? 7461
可以达到目标

一些个人的浅见:
应该是用回溯算法比较方便吧。。。本人水平太差,还用不好这种算法,大家看看吧。
当然,这题并没有要求具体用哪种算法。


[ 本帖最后由 vdestroyer 于 2009-11-7 02:34 编辑 ]
搜索更多相关主题的帖子: 算法 
2009-11-07 02:33
vdestroyer
Rank: 2
等 级:论坛游民
帖 子:136
专家分:14
注 册:2009-1-7
收藏
得分:0 
回复 4楼 UserYuH
楼上这种方法应该是对的,受教了,谢谢
2009-11-08 17:35
快速回复:一道关于杀狼的算法题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020963 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved