现在的位置: 首页 > 综合 > 正文

poj1845 (数论+二分快速取模)

2013年04月17日 ⁄ 综合 ⁄ 共 1348字 ⁄ 字号 评论关闭

题意:求A^B的值的所有因子的和模9901,例如2^3=8  =>  1+2+4+8=15。最后答案为15%9901 = 15。

分析:先将A^B分解成素因数形式:A^B = (P1^k1) + (P2^k2) + (P3^k3) + ...

那么A^B所有因子之和就是:S = (1 + P1^1 + P1^2 + P1^3 +...+ P1^K) * (1 + P2^1 + P2^2 + P2^3+...+P2^K) * (1 + P3^1 + P3^2 + P3^3 +...+ P3^K) * (...

计算 1 + P + P^2 + P^3 +...+ P ^K 可用二分求解;

当k是偶数时:例如k=4,1 + P + P^2 + P^3 + P^4 = (1+P) + P^2 * (1+P*(1+P));

当k是奇数时:例如k=5,1 + P + P^2 + P^3 + P^4 + P^5 = (1 + P + P^2) + P^3 * (1 + P + P^2);

 

抱歉!评论已关闭.