fbpx

Problema #2583 – lsbremove – Rezolvari PBInfo

de Mihai-Alexandru

Cerința

Se dă un număr întreg n reprezentat pe 32 de biți cu semn. Afișați valoarea obținută prin eliminarea celui mai puțin semnificativ bit de 1 (setarea sa la valoarea 0).

Date de intrare

Programul citește de la tastatură numărul n.

Date de ieșire

Programul va afișa pe ecran valoarea pe care o stochează variabila în care a fost citit n după realizarea operației cerute.

Restricții și precizări

  • valoare citită se poate memora pe 32 de biți cu semn și este nenulă

Exemplu

Intrare

6

Ieșire

4

Explicație

Bitul cel mai puțin semnificativ al lui 6 este cel de pe penultima poziție. După setarea sa la 0, valoarea rămasă este 4.

#include <bits/stdc++.h>
using namespace std;
int main()
{
    long long n , cnt = 0 , x = 1;
    cin >> n;
    while(n % 2 == 0)
    {
        cnt++;
        n >>= 1;
    }
    n <<= cnt;
    cout << (n & ~(x <<= cnt));
}
Comentarii

S-ar putea sa iti placa