模取幂.cpp
来自「数值计算的例子和参考书籍」· C++ 代码 · 共 23 行
CPP
23 行
typedef unsigned int UINT;
UINT Binary[33];
UINT Calc(UINT a, UINT b, UINT m)
{
UINT i, j, k;
k = (UINT) log2(b) + 1;
Binary[0] = a % m;
for(i = 1; i <= k; i++)
{
Binary[i] = (Binary[i - 1] * Binary[i - 1]) % m;
}
j = 1, i = 0;
while(b > 0)
{
if(b % 2 != 0) j = (j * Binary[i]) % m;
b /= 2;
i++;
}
return j;
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?