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