读书人

2011的N次方的后四位,该怎么解决

发布时间: 2013-04-09 16:45:09 作者: rapoo

2011的N次方的后四位
求思路,我觉得和11有关系,11的N次方的后三位就是2011的N次方的后三位,具体对不对我不确定,求解答,求思路 算法
[解决办法]
看错了
就是11的n次方的后三位
[解决办法]
A*B的后四位只与A的后四位和B有关。
所以 你可以每次乘2011 然后mod10^4 。
[解决办法]
如何求a的平方的后三位,只需要计算a的后三位的平方就行
a=x*1000+y;
y表示a的后三位,x为前面的
a*a=(x*1000+y)*(x*1000+y)=x*x*1000*1000+2*x*y*1000+y*y
所以a*a的后三位为y*y的后三位。
这就是MOD运算,你可以看看这方面东西。
(a*b)modc=(amodc*bmodc)modc
[解决办法]
2011 = 2000 + 11

2000的后n次方的4位必定是0
计算11的n次方的后4位就行了
[解决办法]

引用:
引用:A*B的后四位只与A的后四位和B有关。
所以 你可以每次乘2011 然后mod10^4 。不明白,,,,能不能详细点哈,


你的想法有点偏了 这就是个数学问题 所以只要你明白了他的数学原理 就很简单。

a*b的后四位只与a的后四位和b有关。 假设a=a1*10^x1+a2*10^x2+...+a4*10^x4+a的后四位。
a*b=(a1*10^x1+a2*10^x2+...+a4*10^x4+a的后四位)*b
上式的前面几项乘以b都会有10^4这个因子,所以a*b的后四位和a的后四位*b同余。

读书人网 >C++

热点推荐