gpt4 book ai didi

algorithm - 当 d 是 k 位指数时,使用平方和乘法算法计算 m^d mod n 所需的最大乘法次数是多少?

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:47:40 24 4
gpt4 key购买 nike

哪个指数 d 会需要这么多?

非常感谢有关如何解决此问题的任何建议。

最佳答案

通过平方算法假设无符号整数和简单幂:

DWORD powuu(DWORD a,DWORD b)
{
int i,bits=32;
DWORD d=1;
for (i=0;i<bits;i++)
{
d*=d;
if (DWORD(b&0x80000000)) d*=a;
b<<=1;
}
return d;
}

您只需将 a*b 替换为 modmul(a,b,n)(a*b)%n 即可答案是:

  1. 如果指数有 k 位并且它们中的 l 已设置,则您需要 k+l 乘法<
  2. 最坏的情况是 2k 指数乘法 (2^k)-1

有关详细信息,请参阅相关的QA:

关于algorithm - 当 d 是 k 位指数时,使用平方和乘法算法计算 m^d mod n 所需的最大乘法次数是多少?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42867334/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com