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?
Rayzen:
Zi-mi si mie numarul problemei.
Răspunsuri la întrebare
Răspuns de
1
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..
Ok, e secret de stat, nu poti sa ne divulgi aceasta informatie.
Alte întrebări interesante
Engleza,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Limba română,
9 ani în urmă
Limba română,
9 ani în urmă
Limba română,
9 ani în urmă