#include <stdio.h> #include <stdint.h> // Complete the function const char* is_power_of_two(uint32_t n) { // power of 2 is only possible when only 1 bit set // if (n == 0) return "NO"; // uint8_t count = 0; // count of set bits // while (n) // { // count += (n & 1); // if (count > 1) return "NO"; // n >>= 1; // } // return "YES"; if ((n != 0) && ((n & (n - 1)) == 0)) { return "YES"; } else { return "NO"; } } int main() { uint32_t n; scanf("%u", &n); const char* result = is_power_of_two(n); printf("%s", result); return 0; }
Test Cases
Test Results
Input
8
Expected Output
YES