Răspuns :
Răspuns:
#include <bits/stdc++.h>
using namespace std;
int main() {
int n, m, nb = 0, mb = 0; // nb = nr de biti n, mb = nr de biti m
cin >> n >> m;
for(int i = 0; i < 32; i++) {// un numar int este reprezentat pe 32 biti
if(n & (int)pow(2, i)) { // daca am gasit un bit de 1 in reprezentarea binara a lui n incrementam valoarea lui nb
nb++;
} else if(pow(2,i) > n) break; // daca am ajuns la un numar mai mare decat n, e clar ca nu o sa mai gasim biti de 1
}
// acelas lucru pentru m
for(int i = 0; i < 32; i++) {
if(m & (int)pow(2, i)) {
mb++;
} else if(pow(2,i) > m) break;
}
if(nb > mb) {
cout << n;
} else {
cout << m;
}
return 0;
}
Explicație:
Vă mulțumim că ați vizitat site-ul nostru dedicat Informatică. Sperăm că informațiile oferite v-au fost de ajutor. Dacă aveți întrebări sau nevoie de asistență suplimentară, nu ezitați să ne contactați. Vă așteptăm cu drag data viitoare și nu uitați să ne adăugați la favorite!