
Sponsored
Sponsored
This approach involves successively dividing the number n by 4 to check if it results in 1. If n is a power of four, repeatedly dividing it by 4 should eventually reduce it to 1 with no remainder.
Time Complexity: O(log4 n) due to repeated division.
Space Complexity: O(1) because no additional space is used.
1def is_power_of_four(n):
2 if n <= 0:
3 return False
4 while n % 4 == 0:
5 n //= 4
6 return n == 1In Python, the algorithm uses a simple while loop to divide n by 4 until n becomes 1, ensuring it is a power of four.
This approach harnesses logarithms to determine if a number is a power of four. For a number n to be a power of four, the logarithm base 4 of n should be an integer. Utilizing the change of base formula, this can be checked without directly using base 4 logarithm functions.
Time Complexity: O(1) as logarithmic operations are constant time.
Space Complexity: O(1).
1import
Python's math library aids in checking if a number is a power of four by calculating log4(n) and ensuring it's an integer.