#2624 invbits
Dat un număr natural n, să se determine numărul natural m care are are proprietatea că are în reprezentarea în baza 2 biți de 1 pe pozițiile unde n are biți de 0 și are biți de 0 pe pozițiile unde n are biți de 1. De exemplu, dacă n = 346, atunci m = 165, deoarece n se reprezintă în baza 2 prin 101011010, iar m prin 010100101.
Poate cineva sa-mi explice cum se face problema?
Răspunsuri la întrebare
Răspuns de
0
Răspuns:
#include <iostream>
using namespace std;
int main()
{ int n;
cin>>n;
if(n==0) {cout<<1; return 0;}
int aux=n;
int p=1;
while(aux)
{ p*=2;
aux/=2;
}
cout<<p-n-1;
return 0;
}
Explicație:
Alte întrebări interesante
Engleza,
8 ani în urmă
Limba română,
8 ani în urmă
Limba română,
8 ani în urmă
Matematică,
9 ani în urmă
Biologie,
9 ani în urmă
Matematică,
9 ani în urmă