回复 7楼 Susake
这个#define M 1000+10什么意思?
我随便拿个例子,比如 29 7 3
先将 29/7 = 4,也就是 4*7 + 0*3 余 1
现在要缩减7的数目,使得余数为0,也就是求 (n*7 + 1) % 3 = 0
(n*7 + 1) % 3 = 0
化简为
(n*7) % 3 = 2
n最小为2
所以最终结果就是 2×7 + 5×3 = 29
假如求的n大于一开始的29/7,那么就可以肯定不会有正好余0的情况出现,那就退而求其次,求余1的情况,若还没有,再球余2的情况……
比如求余1的情况就是 (n*7 + 1) % 3 = 1
化简为
(n*7) % 3 = 0
n最少值为0
所以若要求余1,则结果就是 4*7 + 0*3 = 29 - 1
[ 本帖最后由 rjsp 于 2013-2-25 10:35 编辑 ]