Description
fiile name: mod
定义“取模”运算:对于正整数 a 和 p,a % p 表示 a 除以 p 的余数,又称“模”运算。现在,输入三个正整数 b、p、k,请编程计算 b^p % k 的值。
Input
一行三个正整数,分别表示 b、p、k 的值。其中,b、p、k×k≤2147483647。
Output
一行一个整数,表示 b^p % k 的值。
Sample Input
2 10 9
Sample Output
7
无良long long,毁我青春
#include
#include
using namespace std;
long long quickpow(long long a, long long b, long long mod) // 模板
{
long long res = 1;
while (b)
{
if (b & 1)
{
res *= a;
res %= mod;
}
a *= a;
a %= mod;
b >>= 1;
}
return res;
}
int main(void)
{
long long a, b, p;
scanf("%lld%lld%lld", &a, &b, &p);
printf("%lld", quickpow(a, b, p));
return 0;
}