Informatică, întrebare adresată de Misterioasa15, 8 ani în urmă

Se citeste un sir de n numere naturale. Afisati toate perechile de numere din sir care au acelasi numar de cifre 1 in baza 2.

Răspunsuri la întrebare

Răspuns de lucaciucandrei
1

#include<iostream>

using namespace std;

int b10tob2(int x) {

   int k = 0;

   while (x != 0) {

       k += (x % 2);

       x /= 2;

   }

   return k;

}

int main() {

   int n, v[2][101];

   cin >> n;

   for (int i = 1; i <= n; i++) {

       cin >> v[0][i];

       v[1][i] = b10tob2(v[0][i]);

   }

   for (int i = 1; i <= n - 1; i++)

       for (int j = i + 1; j <= n; j++)

           if (i != j && v[1][i] == v[1][j])

               cout << v[0][i] << ' ' << v[0][j] << ', ';

   return 0;

}

Alte întrebări interesante