铁血丹心

 找回密码
 我要成为铁血侠客
搜索
查看: 2783|回复: 0

《“神剑杯”有奖智力竞赛》后话(七)

[复制链接]
发表于 2011-4-19 14:39 | 显示全部楼层 |阅读模式

马上注册,结交更多侠友!

您需要 登录 才可以下载或查看,没有账号?我要成为铁血侠客

x
       能够被4整除的数,只要末两位能够被4整除便可。至于能被7整除的数的特征,对本题帮助不大,还不如老实地除一下也就是了。先看123456789,当然它既不能被4整除,也不能被7整除,试试把其中两个数字对调,我首先想到的就是4和9对调,这是因为4调到末尾便首先解决了被4整除的问题,湊巧的是123956784正好也能够被7整除,于是1239567840便是符合要求的一个解了。也可以从987654321来起,先将2和1对调以解决4的整除问题。用987654312除以7,得余数1,那我们只要加上一个除以7余6的数,或减去一个除以7余1的数便能解决了。考察后发现,将6和5对调,就相当于减去了90000,而90000除以7正是余1(现在能理解我总是试图用两个数字对调来解决问题了吧),所以9875643120又是一个答案。当然我们还可以用别的办法找出一些其它答案来,也许用的时间会有长短,但总能找得到的,因为符合要求的数实在是太多了。
       但是,要找出最小或最大的符合要求的数就不能用两个数字对调的方法了,因为这种方法无法判定其在答案队伍中的先后位置。我给大家介绍一种很笨但却绝对准确可靠的方法。我们知道,对于几个数的整除性,若是加或减这几个数的公倍数,其整除性不变。也就是说一个数加或减28及28的倍数,其对4和7的整除性不变。于是,求最小答案的方法便是,找一个最接近123456789的能够被4和7整除的数,它是123456788,然后每次加28,考察结果是否由1—9九个数字组成,不是便继续再加28,直到出现由1—9九个数字组成的数为止,这便是最小答案了。求最大答案的方法类似,用987654304每次减28,直到答案出现。当然这这种方法需要你有足够的耐心。
       对于会编程的同学,那就便捷多了。虽然本题的编程没有第七题那样简单,但也算不上什么难题,只是多几重循环而已。为了了解一般答案究竟有多少,我也编了个小程序试了一下,结果统计出符合要求的答案竟有11460个之多!

(未完待续。“后话”系列将于下期结束)

《“神剑杯”有奖智力竞赛》后话(一)的链接:http://www.txdx.net/thread-463786-1-1.html
《“神剑杯”有奖智力竞赛》后话(二)的链接:http://www.txdx.net/thread-464222-1-1.html
《“神剑杯”有奖智力竞赛》后话(三)的链接:http://www.txdx.net/thread-464552-1-1.html
《“神剑杯”有奖智力竞赛》后话(四)的链接:http://www.txdx.net/thread-465135-1-1.html
《“神剑杯”有奖智力竞赛》后话(五)的链接:http://www.txdx.net/thread-465204-1-1.html
《“神剑杯”有奖智力竞赛》后话(六)的链接:http://www.txdx.net/thread-467896-1-1.html
【武侠.中国】铁血丹心论坛(大武侠):致力于推广和发展武侠文化,让我们一起努力,做全球最大的武侠社区。
可能是目前为止最好的金庸群侠传MOD游戏交流论坛,各种经典武侠游戏等你来玩,各种开源制作工具等你来实现你的游戏开发之梦。

本版积分规则

小黑屋|手机版|铁血丹心

GMT+8, 2024-11-15 09:09

Powered by Discuz! X3.4 Licensed

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表