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-03 21:35:15 发布