int pow(int a,int b)
{
int ret = 1;
while(b != 0)
{
if(b & 0x1)
ret *= a;
a *= a;
b >>= 1;
}
return ret;
}
int powMod(int a,int b,int n)
{
int ret = 1;
while(b != 0)
{
if(b & 0x1)
ret = ret*a%n;
a = a*a%n;
b >>= 1;
}
return ret;
}
int main()
{
cout << powMod(3,9,10) <<endl;
cout << pow(3,9)%10 << endl;
}
快速取幂、幂取模
最新推荐文章于 2024-03-19 23:44:29 发布
本文介绍了两种快速幂运算的实现方法:一种是基本的快速幂,另一种是在取模场景下的快速幂。通过具体的C++代码示例,展示了如何高效地进行大整数的幂运算,并比较了两种方法的异同。
1694

被折叠的 条评论
为什么被折叠?



