👤

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 .

Răspuns :

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;

}

Vă mulțumim pentru vizita pe site-ul nostru dedicat Informatică. Sperăm că informațiile prezentate v-au fost utile. Dacă aveți întrebări suplimentare sau nevoie de ajutor, vă rugăm să ne contactați cu încredere. Așteptăm cu drag să reveniți și nu uitați să ne salvați în lista dumneavoastră de favorite!


En Studentsy: Alte intrebari