326. Power of Three
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?
Solution
(1) Java
class Solution {
public boolean isPowerOfThree(int n) {
if (n == 0) {
return false;
}
if (n == 1 || n == 3) {
return true;
}
while (n%3 == 0) {
n = n/3;
}
return n == 1;
}
}
(2) Python
class Solution:
def isPowerOfThree(self, n):
"""
:type n: int
:rtype: bool
"""
if n <= 0:
return False
rst = math.log10(n)/math.log10(3)
print(rst)
return rst == int(rst)
(3) Scala