http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemCode=1154
题意: 提供一系列数以及各自的进制数,请判断每个数是否能被 每个位上的数字只和 整除。
解题思路:首先把除数,也就是每个位上面的数字加起来,然后把数字转成十进制,取余一下,OK。
我在代码中做了几处优化,防止计算溢出:
1. 转化为十进制时,每个位上的数会乘以一个相应的基数,我把这些基数先取余了一下(baseMod
数组)
2. 转化为十进制,每位上的数乘以baseMod之后,相加之前,先取余。现在看看,这个貌似有点多余了。
至于为什么能那么做,自己找取余计算公式去吧。
代码: