首先补充一点基本的数学知识:
- 首先我们这里用到的一个很重要的性质是一个数A对9取模,与A的各位数的和对9取模的结果是一样的,这个在这里就不证明了,
- 对了取模是有分配律的: (A*B)%C = ((A%C)*(B%C))%C;
然后就可以开始求解之路的:
- 先利用性质1和2求解2009^2009的约数,然后可以提供我们最后结果的基本信息
- (2009^2009)%9 = ((2009%9)^2009)%9 = 2^2009%9 = (16^502*2)%9 = ((16^502%9)*2)%9 = (7^502*2)%9....
- 就利用这种方法可以得到最后2009^2009对9取模的结果是5;
- 然后我们利用上述方法得到了D的约束也是5之后,还要确定D的大概范围
- 2009^2009<10000^2009 = 10^8036,所以2009^2009的位数一定是小于8036位的。
- 由于A是它的所有位数的和,所以A<8036*9 = 72324,所以A的位数不大于5位
- B<9*5 = 45, B的位数不大于2位;
- C<2*9 = 18&&C%9=5,所以C=14或者5
- 对于C=14或者5来说,D都只有一种值
所以D只能是5了。