返回列表 回复 发帖

一个编程题

看大家无聊,发个帖子吧:

这个是转的.前两天看到的题目:

编程:

用123456789生成一个9位数,要求是:

前N 个数能被N整除,例如:123845679这个数,

要求

前一位,也就是"1"能被 一整除.

前二位,也就是"12"能被 二整除.

前三位,也就是"123"能被 三整除

前四位, 也就是"1238"能被 四整除

.......

前九位,能被9 整除.

********************************************************************************

希望大家不要给答案,而是思路.

这个题目可以想的很简单,也可以想的比较复杂点. 使用哪种语言不要求.

********************************************************************************

本来相用更好的算法,但是没办法。

想来想去,还是做穷举了。

9个从1到9的for循环,只应用了一些一定的规则。

比如,第五位如果要被5整除,肯定是5不会错。还比如双数位,要被双数整除,肯定也要是2 4 6 8其中的一个。至于第九位,因为有一个规则,任何数的所有位数相加能被9整除,这个位肯定会被9整除,所以第九位不用多加考虑。

就这样,一套长龙就这么啦下来了……呵呵

这个有点难度

仔细看了半天``也是满脑子浆糊``不过脑子里面已经有答案了`呵呵`

偶想,偶翻翻书,还是可以

呵呵。。

懒一点还是穷举呗

  来n个for循环 嵌套几个if

呵呵! 

偶不懂
返回列表