👤

Cum pot face o functie recursiva in care sa aflu restul impartirii lui a la puterea b la c?
eu am facut cu un for de la i la b si o variabila result si am returnat result % c.
Insa daca e par trebuie : a la puterea b = a la puterea b / 2 * a la puterea b / 2
si daca e impar a la puterea b este egal cu a * a la puterea b - 1.
Cu solutia mea iau 50 de pct, insa cred ca trb sa folosesc treaba cu impar si par, cum credeti ca ar trb sa o folosesc?


Răspuns :

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..