# PBinfo #2677 – puterealui2 – Rezolvare C++

Sursa: Codul lui Andrei
Limbaj: C++
Autor rezolvare: deivid

## Enunț

Cerința
Se dă un număr natural nenul n. Să se verifice dacă n este sau nu o putere a lui 2.

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

Date de ieșire
Programul va afișa pe ecran DA, dacă n este putere a lui 2, sau NU dacă n nu este putere a lui 2.

Restricții și precizări

1 ≤ n ≤ 2.000.000.000
Puteri ale lui 2 sunt numerele 1, 2, 4, 8, 16, …
Pentru eficiență, se recomandă în rezolvare utilizarea operatorilor pe biți.

Exemplul 1:
Intrare

32
Ieșire

DA
Exemplul 2:
Intrare

24
Ieșire

NU

## Cod sursă C++

```cpp
#include <iostream>
using namespace std;
int main()
{
    int n;
    cin >> n;
    if (n & (n - 1)) cout << "NU";
    else cout << "DA";
    return 0;
}
```

## Resurse

- [Pagina originală](https://codulluiandrei.ro/rezolvari/pbinfo/2677)
- [Sursa C++](https://codulluiandrei.ro/rezolvari/pbinfo/2677/cod.cpp)
- [Sursa pe GitHub](https://raw.githubusercontent.com/codulluiandrei/pbinfo/main/pbinfo-2677/main.cpp)
- [Cursuri de informatică pentru BAC](https://codulluiandrei.ro/academia/info-curs/pachet-cpp/)
