Informatică, întrebare adresată de petken, 9 ani în urmă

Cerinţa
Se dau n perechi de numere naturale a, b. Să se determine pentru fiecare pereche, dacă există, cea mai mare putere a lui 2 din intervalul determinat de a şi b.

Date de intrare
Programul citeşte de la tastatură numărul n, apoi n perechi de numere a, b.

Date de ieşire
Programul va afişa pe câte o linie ecranului, pentru fiecare interval dat, cea mai mare putere a lui 2 din interval, sau 0, dacă intervalul nu conţine nici o putere al lui 2.

Restricţii şi precizări
1 ≤ n ≤ 10000
fiecare dintre numerele a şi b au cel mult 9 cifre.
Exemplu
Date de intrare

3
2 69
20 10
19 25
Date de ieşire

64
16
0
in c++ va rog si sa fie corect!

Răspunsuri la întrebare

Răspuns de stassahul
24
#include <iostream>

using namespace std;

int n,a,b,p;

int main()
{

    cin >> n;

    for(int i=1;i<=n;i++)
    {
        cin >> a >> b;
        p=1;
        while(p*2<=max(a,b))
            p*=2;
        if(p>=min(a,b)) cout << p << endl;
        else cout << 0 << endl;
    }

    return 0;

}

petken: multumesc! dau si coroana!
Alte întrebări interesante