描述
输入b,p,k的值,求bp mod k的值。其中b,p,k×k为长整型数。
输入描述
输入b,p,k的值。
输出描述
求 bp mod k 的值。
#include<iostream>
using namespace std;
long long k;
long long f(long long b, long long p) {
long long x;
if (p == 0) {
return 1;
}
if (p == 1) {
return b % k;
}
x = f(b, p / 2) % k;
if (p % 2 == 1) {
return (x * x * b) % k;
}
else {
return (x * x) % k;
}
}
int main() {
long long b, p;
cin >> b >> p >> k;
cout << b << '^' << p << " " << "mod" << " " << k << '=' << f(b, p);
}