Informatică, întrebare adresată de Utilizator anonim, 8 ani în urmă

#254 de pe pbinfo
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.
1 ≤ n ≤ 10000fiecare dintre numerele a şi b au cel mult 9 cifre.

Răspunsuri la întrebare

Răspuns de ArMyFoRHeLL
2
#include <iostream>

using namespace std;

int main()
{
    int n,v[10001],a,b,t = 0;
    cin >> n;
    for (int i = 0;i < n;++i)
    {
        cin >> a >> b;
        if ( a > b )
        {
            a ^= b;
            b ^= a;
            a ^= b;
        }
        int P = 1, maxim = 0;
        while (P <= b)
        {
            if (P >= a)
            maxim = P;
            P *= 2;
        }
         v[++t] = maxim;
    }
    for (int i = 1;i <= t;++i)
        cout << v[i] << endl;
    return 0;
}


Alte întrebări interesante