Problem
Decide whether n equals 2ᵏ for some whole number k ≥ 0 (1, 2, 4, 8, …).
Implement is_power_of_two(n).
Input
n: The number to check.
Output
Return true if n is a power of two.
Constraints
-10¹⁸ ≤ n ≤ 10¹⁸
Examples
Example 1
Input:
n = 64
Expected output:
expected = True
Input:
long long n = 64;
Expected output:
bool expected = true;
Input:
long n = 64;
Expected output:
bool expected = true;
Explanation
64 = 2⁶.
Example 2
Input:
n = 12
Expected output:
expected = False
Input:
long long n = 12;
Expected output:
bool expected = false;
Input:
long n = 12;
Expected output:
bool expected = false;
Explanation
12 = 4 × 3 has an odd factor, so it is not a power of two.
References
This challenge is adapted for CodeUtility. Follow the statement and constraints above.