Rezolvare completă PbInfo #2583 lsbremove

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.

Cum e corect?

cout < "As la info"; cout << "As la info"; cout >> "As la info";

Felicitări! Poți mai mult?

Avem sute de probleme pentru tine, fiecare cu explicații ușor de înțeles.

Greșit, dar nu-i bai!

Antrenează-te cu sutele de probleme pe care ți le-am pregătit. Îți explicăm fiecare problemă în parte.

Rezolvare

Iată rezolvarea de 100 de puncte pentru problema lsbremove:

#include <iostream>

using namespace std;
int n;
int main () {
    cin>>n;
    n -= (n & -n);
    cout<<n;
    return 0;
}

Atenție

Enunțurile afișate pe această pagină aparțin exclusiv site-ului PbInfo. Astfel, pentru ștergerea conținutului, puteți să ne contactați la adresa Adresa de email.

Rezolvarea problemei #2583 lsbremove

Pe această pagină găsești rezolvarea de 100 de puncte pentru problema #2583 lsbremove de pe PbInfo.ro. Atenție: nu încurajăm copiatul codului! Totuși, credem cu tărie că analizarea unei soluții corecte este o metodă foarte ușoară de a învăța informatică, astfel că oferim sursele pentru peste 1500 de probleme de pe platforma PbInfo.ro.

Pentru rezolvări PbInfo de la peste 1500 de probleme, vă invităm să intrați pe site-ul nostru!