早教吧作业答案频道 -->数学-->
如何求(a^b)modp,其中p是大质数,指数b是最大不超过2500万位的大整数.好像没法用快速幂,有没有什么用的上的数论公式或简便算法,因为2500万位的数高精度也没办法计算
题目详情
如何求(a^b) mod p,其中p是大质数,指数b是最大不超过2500万位的大整数.
好像没法用快速幂,有没有什么用的上的数论公式或简便算法,因为2500万位的数高精度也没办法计算
好像没法用快速幂,有没有什么用的上的数论公式或简便算法,因为2500万位的数高精度也没办法计算
▼优质解答
答案和解析
p的位数范围是多少?
如果p的位数还在可容许的范围内(例如几千位?),那么还是可计算的.
因为有Fermat小定理:若(a,p) = 1,则a^(p-1) ≡ 1 (mod p).
所以可先求b除以p-1的余数,设b = (p-1)m+r,其中0 ≤ r < p-1.
则a^b ≡ a^r (mod p).
指数r < p-1,因此如果p的位数不算太大就是可以计算的.
另外乘方运算要在mod p的意义下进行,粗略估计复杂度大概是O(log(p)³)级别.
如果p的位数还在可容许的范围内(例如几千位?),那么还是可计算的.
因为有Fermat小定理:若(a,p) = 1,则a^(p-1) ≡ 1 (mod p).
所以可先求b除以p-1的余数,设b = (p-1)m+r,其中0 ≤ r < p-1.
则a^b ≡ a^r (mod p).
指数r < p-1,因此如果p的位数不算太大就是可以计算的.
另外乘方运算要在mod p的意义下进行,粗略估计复杂度大概是O(log(p)³)级别.
看了 如何求(a^b)modp,其...的网友还看了以下:
想问一下关于未定式求极限的问题.什么叫未定式?书上一般都是写零乘以无穷之类之类的称为未定式.那么这个 2020-03-31 …
iproute0.0.0.00.0.0.0s0/0/0中s0/0/0指的是本地的还是? 2020-04-27 …
Web 2.0指的是一个利用Web的平台.由用户主导生成内容的互联网产品模式。(21) 不属于Web 2020-05-26 …
"每笔买进张数与笔数之比值为8.0",指的是什麼意思? 2020-06-16 …
平面x=0指的是哪个平面由于答案中给出的x=0平面在xoy轴上的投影是x轴,所以搞不清楚,x=0平 2020-07-03 …
0指得是什么 2020-07-11 …
下列各分式中,取值可能为0的是?A.(m的平方+1)÷(m的平方-1)B.(m的平方-1)÷(m+ 2020-07-18 …
1.0的202不锈钢是什么意思这个1.0指的是什么 2020-07-18 …
1.0的202不锈钢是什么意思这个1.0指的是什么 2020-07-18 …
这道高数的上限积分求到怎么求,说明白点!F(x,0)(x-t)f‘(x)dt的导数是多少!F(x, 2020-07-31 …