Răspuns:
#include <iostream>
using namespace std;
int a,b,c;
int rest(int a, int b, int c)
{
if (b==0) return 1;
else
return (a*rest(a,b-1,c))%c;
}
int main()
{
cout << "a="; cin >> a;
cout << "b="; cin >> b;
cout << "c="; cin >> c;
cout << "restul= " << rest(a,b,c);
}
Explicație:
cred e ce doreşti... nu îţi trebuie altă variabilă, deoarece la apelul
return (a*rest(a,b-1,c))%c;
a se înmulţeşte cu rezultatul de la a^(b-1) şi se află şi restul