2013年10月12日
摘要: http://poj.org/problem?id=2115题意:对于C的循环(for i = A; i != B; i+=C)问在k位存储系统内循环多少次结束; 若循环有限次能结束输出次数,否则输出FOREVER;解:设x为循环次数; (A+C*x)%2^k = B; 则 C*x+A = 2^k*y+B; 所以 C*x - 2^k*y = B-A; 类似于a*x+b*y = c (或 a*x = c(mod b))模线性方程的形式,所以可以根据扩展欧几里得算法解决 1 #include 2 #include 3 4 long long exGcd(long long a,... 阅读全文
posted @ 2013-10-12 21:56 straw_berry 阅读(204) 评论(0) 推荐(0) 编辑
摘要: http://poj.org/problem?id=1845题意:求A^B的所有约数的和再对9901取模;做了这个学到了N多数学知识;一:任意一个整数都可以唯一分解成素因子的乘积;A = p1^k1*p2^k2*......*pn^kn; A先对2不断取模,当A%2==0时,2的次数加1,直到A%2!=0,A再尝试着对3不断取模.....依次进行下去,直到A = 1; 当A本身就是素数时,A^1就是素数本身的分解式(特殊情况,别忘了加判断); 这样A^B = p1^(k1*B) * p2(k2*B) * .......*pn^(kn*B);二:一个数用素因子乘积表示后其约数和公式; A... 阅读全文
posted @ 2013-10-12 20:14 straw_berry 阅读(760) 评论(0) 推荐(0) 编辑