376
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
2sunt numerele1,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
#include <bits/stdc++.h>
using namespace std;
int main()
{
int n;
cin >> n;
while(n % 2 == 0) n /= 2;
if(n == 1) cout << "DA";
else cout << "NU";
return 0;
}
Comentarii