Python 中的三次方


假设我们有一个数字 n。我们需要检查该数字是否是 3 的次幂。因此,如果数字为 n = 27,即 3 的次幂,则结果为 true;如果 n = 15,则为 false。

为解决此问题,我们将按照以下步骤进行操作 -

  • 我们将使用对数来解决此问题
  • 如果 [log10(n) / log10(3)] mod 1 == 0,则为 3 的次幂,否则不是

示例

让我们看看以下实现,以便更好地理解 -

 在线示例

class Solution(object):
   def isPowerOfThree(self, n):
      """
      :type n: int
      :rtype: bool
      """
      if not n or n<0:
         return False
      return (math.log10(n)/ math.log10(3)) % 1 == 0
ob1 = Solution()
print(ob1.isPowerOfThree(27))
print(ob1.isPowerOfThree(15))
print(ob1.isPowerOfThree(9)

输入

27
15
9

输出

true
false
true

更新于: 2020-04-28

1K+ 次浏览

开启您的职业生涯

完成课程即可获得认证

开始使用
广告