#include using namespace std; size_t modexp(size_t x, size_t y, size_t N) { if (y == 0) return 1; size_t z = modexp(x, y / 2, N); if (y % 2 == 0) { return (z*z) % N; } else { return (x*z*z) % N; } } int main() { size_t x, y, N; cout << "x= "; cin >> x; cout << "y= "; cin >> y; cout << "N= "; cin >> N; cout << modexp(x, y, N); cin.get(); cin.get(); return 0; }