早教吧作业答案频道 -->数学-->
如何求(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,其...的网友还看了以下:
一个鸡蛋的质量、课本中一张纸的厚度、一块橡皮从桌上落到地面所用的时间,大约分别为()A.60克、0 2020-04-27 …
一个鸡蛋的质量、课本中一张纸的厚度、一块橡皮从桌上落到地面所用的时间,大约分别为()A.60克、0 2020-05-13 …
一个鸡蛋的质量、课本中一张纸的厚度、一块橡皮从桌上落到地面所用的时间,大约分别为()A.60克、0 2020-05-13 …
matlab解一个二元方程组为何出现错误.方程组为0.0231=d+p0.0284=0.0231+ 2020-05-16 …
质量分别为10kg和40kg的物体AB叠放在水平面上 AB间最大静摩擦力是10牛与水平面间的动摩擦 2020-05-16 …
.向心力..、有一个圆盘能够在水平面内绕其圆心O匀速旋转,盘的边缘为粗糙平面(用斜线表示)其余为光 2020-05-17 …
已知MNa2CO3=105.99g/mol,用它来标定0.1mol/LHCl溶液,宜称取Na2CO 2020-06-27 …
高分数学概率题.1个公司有三个合同要签,还没签哈.哈哈哈.A,B,CP(A)=0.5;P(B)=0 2020-07-07 …
概率论问题(急)已知A,B互不相容,且P(A)=0.5,P(B)=0.3,P(B|A)=P(A)=0 2020-12-13 …
任意向(0,1)区间上投掷一个点,用x表示该点的坐标,则Ω={x|0<x<1},事件A={x|0<x 2020-12-30 …