#2624 invbits
Cerința
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.
Date de intrare
Programul citește de la tastatură numărul n.
Date de ieșire
Programul va afișa pe ecran numărul m.
Restricții și precizări
0 ≤ n ≤ 1 000 000 000
Exemplu
Intrare
346
Ieșire
165
Răspunsuri la întrebare
Răspuns de
3
#include <bits/stdc++.h>
using namespace std;
void invert(long long num)
{
long long x = log2(num) + 1;
for (long long i = 0; i < x; i++)
num = (num ^ (1 << i));
cout << num;
}
int main()
{
long long num ;
cin >> num;
invert(num);
return 0;
}
Rezolvare de 90 de puncte. Nu stiu ce imi scapa, poate gasesti tu. Succes!
Alte întrebări interesante
Limba română,
8 ani în urmă
Chimie,
8 ani în urmă
Religie,
8 ani în urmă
Latina,
9 ani în urmă
Matematică,
9 ani în urmă
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< return 0;
}