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 pentru vizita pe site-ul nostru dedicat Informatică. Sperăm că informațiile prezentate v-au fost utile. Dacă aveți întrebări sau aveți nevoie de suport suplimentar, nu ezitați să ne contactați. Ne bucurăm să vă revedem și vă invităm să ne adăugați în lista de favorite!