Informatică, întrebare adresată de aminav14, 8 ani în urmă

Subprogramul pDoi are un singur parametru, n, prin care primește un număr natural (n[1,109]).
Subprogramul returnează cea mai mare valoare din intervalul [1,n], cu proprietatea că este o putere a
lui 2.
Scrieți definiția completă a subprogramului.
Exemplu: dacă n=20, subprogramul returnează 16

Răspunsuri la întrebare

Răspuns de bolozanandrei
1

Răspuns:

int pDoi(int n)

{

   int i=2,k=1;

   while(pow(i,k)<=n) //cat timp puterea e mai mica decat n

       k++;           //crestem exponentul

       if(pow(i,k)>n) //daca puterea depaseste numarul n

           return pow(i,k-1); // returnam puterea anterioara ,fiind cea mai mare putere ce nu il depaseste pe n

 

}

Explicație:

Alte întrebări interesante