快速幂模板
#include <iostream> using namespace std; int main() { long long int a, b, p, sum = 1; scanf("%lld%lld%lld",&a, &b, &p); sum = 1 % p; while(b) { if(b & 1) { sum = sum * a % p; } b >>= 1; a = a * a % p; } printf("%lld", sum % p); return 0; }
#include <iostream> using namespace std; int main() { long long int a, b, p, sum = 1; scanf("%lld%lld%lld",&a, &b, &p); sum = 1 % p; while(b) { if(b & 1) { sum = sum * a % p; } b >>= 1; a = a * a % p; } printf("%lld", sum % p); return 0; }