继续你的思路,
用A表示四位数abcd
因为 20A % 99 = 2a+20b+2c+20d % 99
所以有 (20A + e) % 99 = 0
问题变成:对每个e,寻找四位数A,让 20A % 99 = (99-e) % 99
把从1000到9999的所有9000个四位数A按从小到大排列,计算A % 99,结果是:
10 11 ... 98 0 # 1 2 ... 98 0 # ... # 1 2 ... 98 0 #
用#分隔成组。一共91个组。其中第一组有90个数,后面是90个完整组(每组99个数)
对完整组,20A % 99的结果集必定是 0-98,所以里面有且仅有1个A符合要求
第一组相比完整组缺了9个数,它们对应的 20A % 99的结果是:
20 40 60 80 1 21 41 61 81
对每个e (0<=e<=9)
99-e % 99的结果集是:0, 90-98
正好避开了第一组缺少的9个结果,也就是说第一组和其它90个完整组一样,也是有且仅有1个A符合要求
所以各组都是刚好有1个四位数A满足要求,91个组共91个
e一共有10种,所以合计就是91*10个
【 在 forker 的大作中提到: 】
: 感觉换成 A = a*(10^8 - 1 + 1) + (10b+c)*(10^6 -1 + 1) + (10d + e)*(9999 + 1) + (10d +c)*(99 + 1) + 10b + a
: 这样等价为 2a+2c+20b+20d+e能被99整除对小学生而言工作量小点
--
修改:Group FROM 222.128.31.*
FROM 222.128.31.*