326. Power of Three
Given an integer, write a function to determine if it is a power of three.
Follow up:
Could you do it without using any loop / recursion?
326.3的幂
给定一个整数,写一个函数来判断它是不是3的幂
进一步的:
你能不用任何循环和递归解决它吗?
思路:判断一个数是不是3的幂只需要不断地除以3即可,只要出现除不通的情况就判断为不是3的幂,如果能一直除到商为1,则它是3的幂。
bool isPowerOfThree(int n) {
if (n < 1) return false;
if (n == 1) return true;
while (n > 1){
if (n%3) return false;
n /= 3;
}
return true;
}
class Solution(object):
def isPowerOfThree(self, n):
"""
:type n: int
:rtype: bool
"""
if n < 1: return False
if n == 1: return True
while n > 1:
if n % 3: return False
n /= 3
return True