293
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 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