// UVa 374 - Big Mod #include <iostream> using namespace std; #define datatype unsigned long long datatype b, p, m; datatype calc(datatype p) { if (p == 0) return 1; else return (((calc(p / 2) * calc(p / 2)) % m) * (p % 2 == 1 ? b : 1)) % m; } int main() { while (cin >> b >> p >> m) { b = b % m; cout << calc(p) << endl; } return 0; }
No comments:
Post a Comment