Să se afişeze toate numerele naturale mai mici decât un număr dat n, care se introduce de la tastatură (n>=7), a căror reprezentare în baza 2 conține exact trei cifre binare de 1. 12
#include <iostream>
using namespace std;
int main() {
int n;
cout << „Introduceti numarul n: „;
cin >> n;
for (int i = 0; i < n; i++) {
int x = i;
int count = 0;
while (x != 0) {
if (x % 2 == 1) {
count++;
}
x /= 2;
}
if (count == 3) {
cout << i << ” „;
}
}
return 0;
}
- Citim numărul n de la tastatură.
- Folosim un for pentru a parcurge toate numerele naturale mai mici decât n.
- În interiorul for-ului, inițializăm variabila x cu valoarea lui i și numărăm câte cifre binare de 1 are în reprezentarea lor în baza 2, folosind o buclă while.
- Dacă numărul de cifre binare de 1 este exact 3, afișăm numărul.