您的位置:首页 > 编程语言 > C语言/C++

leetcode326题 题解 翻译 C语言版 Python版

2016-02-15 20:01 489 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: