368
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şibau cel mult9cifre.
Exemplu
Date de intrare
3 2 69 20 10 19 25
Date de ieşire
64 16 0
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n,a[10001],b[10001],p;
cin>>n;
for(int i=1;i<=n;i++) cin>>a[i]>>b[i];
for(int i=1;i<=n;i++)
{
p=1;
while(p*2<=max(b[i], a[i]))
{
p=p*2;
}
if (p >= min(a[i], b[i]))
cout<<p<<'\n';
else cout << 0 << '\n';
}
return 0;
}
Comentarii