#include <iostream> #include <string> #include <cstdlib> #include <sstream> #include <cstring> #include <cstdio> #include <algorithm> #include <map> using namespace std; typedef long long ll; ll mod_pow(ll x, ll n, ll mod){ ll res = 1%mod; //防止n=0; while(n>0){ if(n&1) res = res*x%mod; x = x*x%mod; n>>=1; } return res; } void solve(){ int x,n,mod; scanf("%d%d%d",&x,&n,&mod); //输出:x^n mod mod=result; cout << x << "^" << n << " mod " << mod << "=" << mod_pow(x,n,mod); } int main() { solve(); return 0; }
注:(a+b)mod p = (a mod p +b mod p) mod p
(a*b) mod p = (a mod p * b mod p) mod p