首页 > 其他分享 >326.3的幂

326.3的幂

时间:2023-11-11 15:55:38浏览次数:25  
标签:返回 False 示例 self 326.3 return isPowerOfThree

目录

题目

  • 给定一个整数,写一个函数来判断它是否是 3 的幂次方。如果是,返回 true ;否则,返回 false 。

整数 n 是 3 的幂次方需满足:存在整数 x 使得 n == 3x

示例 1:

输入:n = 27
输出:true

示例 2:

输入:n = 0
输出:false

示例 3:

输入:n = 9
输出:true

示例 4:

输入:n = 45
输出:false

法一、迭代

class Solution:
    def isPowerOfThree(self, n: int) -> bool:
        while n > 1:   #不断让n除以3
            if n % 3 != 0:  #如果n不能被3整除
                return False  #返回False
            n //= 3   #n除以3后的商数赋给n
        return n == 1  #最后能不能被3整除,n为1表示能被整除,返回True,否则返回False
class Solution:
        def isPowerOfThree(self, n: int) -> bool:
        while n>=3:n/=3  #这个地方用/
        return True if n==1 else False
  • /:返回的是浮点数;//:返回的是向下取整的值
  • 5/3的结果为1.666666...,5//3的结果为1

法二、递归

class Solution:
    def isPowerOfThree(self, n: int) -> bool:
        if n==1:return True
        if (n == 0 or n % 3 != 0): return False
        return self.isPowerOfThree(n/3)

标签:返回,False,示例,self,326.3,return,isPowerOfThree
From: https://www.cnblogs.com/lushuang55/p/17825903.html

相关文章