👤

Fie data o piramida ca cea din poza unde fiecare numar are exact 2 "fii" (numarul x are fii 2*x si 2*x + 1). Realizati un program care daca se introduce un numar y ( y <= 100 ), sa returneze numărul rândului pe care se afla in piramida.
Exemplu in poza.


Fie Data O Piramida Ca Cea Din Poza Unde Fiecare Numar Are Exact 2 Fii Numarul X Are Fii 2x Si 2x 1 Realizati Un Program Care Daca Se Introduce Un Numar Y Y Lt class=

Răspuns :

Pentru a deduce mai usor formula (sau cel putin e mai usor pentru mine),am facut un algoritm.
#include <iostream>

using namespace std;

int main()
{
    int y,k=1;
    cin>>y;
    while(y!=1)
    {
        k++;
        y=y/2;
    }
    cout<<k;
    return 0;
}
Oricum formula ar fi log2 y +1=k.