美文网首页
LeetCode-python 326.3的幂

LeetCode-python 326.3的幂

作者: wzNote | 来源:发表于2019-10-06 11:16 被阅读0次

    题目链接
    难度:简单       类型: 数学


    给定一个整数,写一个函数来判断它是否是 3 的幂次方。

    示例1

    输入: 27
    输出: true

    示例2

    输入: 0
    输出: false

    示例3

    输入: 9
    输出: true

    示例4

    输入: 45
    输出: false

    解题思路


    当能被3整除时一直除以三,最终能到1,就是3的幂

    或者
    n>0且最大的3的幂能整除n

    代码实现

    方法1:

    class Solution(object):
        def isPowerOfThree(self, n):
            """
            :type n: int
            :rtype: bool
            """
            if n > 0:
                while n%3 == 0:
                    n /= 3
            return n == 1
    

    方法2:

    class Solution(object):
        def isPowerOfThree(self, n):
            return n > 0 and 1162261467 % n == 0
    

    本文链接:https://www.jianshu.com/p/ed86cad472f0

    相关文章

      网友评论

          本文标题:LeetCode-python 326.3的幂

          本文链接:https://www.haomeiwen.com/subject/kikupctx.html