Given an integer, write a function to determine if it is a power of three.
Example 1:
Input: 27
Output: true
Example 2:
Input: 0
Output: false
Example 3:
Input: 9
Output: true
Example 4:
Input: 45
Output: false
Follow up:
Could you do it without using any loop / recursion?
A simple solution:
class Solution:
def isPowerOfThree(self, n):
"""
:type n: int
:rtype: bool
"""
num = 1
if n==1:
return True
while num<n:
num *= 3
if num == n:
return True
return False
Without loop or recursion solution:
class Solution:
def isPowerOfThree(self, n):
"""
:type n: int
:rtype: bool
"""
return (n > 0) and (1162261467 % n == 0)