题目描述:假设现在有两个自然数A和B,S是AB的所有约数之和。
请你求出S mod 9901的值是多少。
思路分析:求解约数之和有个数学的公式
第一步先把A分解成 X1a1 * X2a2 … Xna3.
A^B= X1a1*B * X2a2*B … Xna3*B.
根据乘法的分配律可以得出A^B的约数之和就是
(X10+X11+…X1a1*B)(X20+X21+…X2a2*B)…*(Xn0+Xn1+…Xnan*B)
就是这个公式,本人也就懵懵懂懂,若是有哪个大佬已经彻底领悟了其中之奥妙,劳烦告诉一下。
根据上面的公式可以看出是等比数列,但是除法没有取模这一说,但是我们可以换一种思维方式是就是
就举第一个等比数列看列子设总和为sum(X,a1B),
如果最大的指数为奇数:
sum(X,aiB)=(X0+X1+…X(ai*B-1)/2))+X(ai*B+1)/2)(X0+X1+…X(ai*B-1)/2));
=(1+X(ai*B+1)/2))sum(X,(aib)-1/2).
如果最大的数为偶数
sum(X,a