Răspuns:
#include <iostream>
using namespace std;
int a,b,c,p=1;
int rest(int a, int b, int c)
{
if (b==0) return 1;
else
{
return (rest(a, b-1, c)*a)%c;
}
}
int main()
{
cin >> a >> b >> c;
cout << rest(a,b,c);
}
Explicație:
am aflat restul de la impartirea a^b la c, fara a afla puterea a^b
S-a obtinut laconic si elegant..