題目描述
輸入整數m,n,k,求m^n mod k的值。m,n,k*k爲長整型範圍內的自然數
輸入
輸入一行3個整數,分別爲m,n,k
輸出
輸出一行一個整數,表示結果
樣例輸入
2 10 9
樣例輸出
7
直接快速冪就解決了,注意用long long
最好用位運算,速度比較快
#include<bits/stdc++.h>
using namespace std;
typedef long long LL;
LL Pow_mod(LL a, LL b, LL m)
{
LL ans = 1;
a = a % m;
while (b > 0)
{
if (b & 1)
ans = ans * a % m;
a = a * a % m;
b >>= 1;
}
return ans;
}
int main()
{
LL a,b,m;
scanf("%lld%lld%lld",&a,&b,&m);
printf("%lld\n",Pow_mod(a,b,m));
return 0;
}