Să se scrie o funcție numită putere care primește 3 numere naturale a , b , c și calculează restul împărțirii lui a b la c . Semnătură funcție Funcția trebuie să se numească putere. Funcția trebuie să primească 3 parametri de tip int și să returneze un int care să stocheze numărul cerut Restricții 1 ≤ a ≤ 100 2 ≤ c ≤ 1000 0 ≤ b ≤ 1 000 000 000 Exemplu putere(3, 6, 100) va returna 29. Cum să calculezi eficient și corect Dacă încerci să îl ridici pe a la puterea b prin înmulțiri repetate, vei vedea că programul tău va fi lent și vei primi limită de timp depășită când trimiți. Poți să calculezi a b mai eficient folosindu-te de următoarea proprietate: a b = a b / 2 ∗ a b / 2 în cazul în care b este par, altfel a b = a ∗ a b − 1 . Acest lucru este ușor de demonstrat dacă ne bazăm pe faptul că a b ∗ a c = a b + c . Atenție! Deoarece numerele cresc foarte mult atunci când le înmulțim, trebuie să ai grijă ca valoarea lor să poată fi memorată într-o variabilă de tip int. Pentru a face acest lucru poți să te bazezi pe faptul că a ∗ b și r a ∗ r b au același rest prin împărțirea la c , unde prin r a am notat restul lui a la împărțirea cu c și prin r b restul la împărțirea cu c al lui b .
boiustef:
daca problema e de pe careva site... mai bine aratai asta....
Răspunsuri la întrebare
Răspuns de
0
Răspuns:
#include <iostream>
using namespace std;
int putere (int a, int b,int c)
{
int nr=1,S;
S=a;
while(b>nr)
{
S =S*a;
nr++;
}
return S%c;
}
Alte întrebări interesante
Engleza,
8 ani în urmă
Studii sociale,
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ă