Daca o problema trebuie rezolvata prin recursivitate, gen sa se returneze restul imparitii lui
al c , cum pot retine valoare initiala a lui a intr-o variablia sa o pot inmulti pe parcurs cu a, fara sa isi schimbe valoarea?
boiustef:
Paul, mai concret .... pt. ce trebuie să înmulţeşti? pentru a afla valoarea puterii?
Răspunsuri la întrebare
Răspuns de
1
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
Alte întrebări interesante
Matematică,
8 ani în urmă
Matematică,
8 ani în urmă
Engleza,
9 ani în urmă
Chimie,
9 ani în urmă
Matematică,
9 ani în urmă
Matematică,
9 ani în urmă