【题目描述】
输入b,p,k的值,求b^p mod k的值。其中b,p,k×k为长整型数。
【输入】
输入b,p,k的值。
【输出】
求b^p mod k的值。
【输入样例】
2 10 9
【输出样例】
2^10 mod 9=7
算法:快速幂
经典的模板题
#include <iostream>
#include <cstdio>
using namespace std;
typedef long long LL;
LL qmi(LL a, LL b, LL k)
{
LL ans = 1 % k;
while(b)
{
if(b & 1)
ans = ans * a % k;
b >>= 1;
a = a * a % k;
}
return ans;
}
int main()
{
LL a,b,k;
cin >> a >> b >> k;
printf("%lld^%lld mod %lld=%lld",a, b, k, qmi(a, b, k));
return 0;
}