我必须编写一个程序来计算a**b % c哪里b和c都是非常大的数字.如果我只是使用a**b % c它,它真的很慢.然后我发现内置函数pow()可以通过调用来快速完成pow(a, b, c).
我很想知道Python是如何实现这一点的?或者我在哪里可以找到实现此功能的源代码文件?
我想计算一个用于RSA解密的b mod n.我的代码(如下)返回错误的答案.这有什么问题?
unsigned long int decrypt2(int a,int b,int n)
{
unsigned long int res = 1;
for (int i = 0; i < (b / 2); i++)
{
res *= ((a * a) % n);
res %= n;
}
if (b % n == 1)
res *=a;
res %=n;
return res;
}
Run Code Online (Sandbox Code Playgroud)