首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

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

2013-04-09 
2011的N次方的后四位求思路,我觉得和11有关系,11的N次方的后三位就是2011的N次方的后三位,具体对不对我不

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同余。

热点排行