Power of Four

EasyBit Manipulationbit manipulation

Solve this the way you would in the interview: out loud, on a timer, with an AI interviewer asking follow-ups while you code. You get a scored report at the end.

Practice this as a mock interviewFree to start, no account needed

Problem

Given a 32-bit signed integer n, decide whether it equals 4^x for some non-negative integer x. Return true if it does and false otherwise. Zero and negative numbers are never powers of four, and 1 counts (it is 4^0). Try to answer without loops or recursion: a power of four has exactly one set bit, and that bit sits at an even position.

Examples

Input: n = 16
Output: true
16 = 4^2.
Input: n = 5
Output: false
5 lies between 4 and 16, so it is not a power of four.
Input: n = 1
Output: true
1 = 4^0.

Constraints

  • -2^31 <= n <= 2^31 - 1

What the interviewer grades

A correct solution is one of five scores. The report also grades problem understanding (did you clarify inputs and edge cases before coding), problem solving, communication while you work, code quality, and testing. See a sample report, or read up on the pattern in the lessons.

More bit manipulation problems