Computer >> Máy Tính >  >> Lập trình >> Python

Power of Three trong Python


Giả sử chúng ta có một số n. Chúng ta phải kiểm tra xem số đó có phải là lũy thừa của 3 hay không. Vì vậy, nếu số giống như n =27, tức là lũy thừa của 3, kết quả sẽ là đúng, nếu n =15, nó sẽ là sai.

Để giải quyết vấn đề này, chúng tôi sẽ làm theo các bước sau -

  • Chúng tôi sẽ sử dụng Logarit để giải quyết vấn đề này
  • if [log10 (n) / log10 (3)] mod 1 ==0, thì nó sẽ là lũy thừa của ba, ngược lại thì không

Ví dụ

Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -

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)

Đầu vào

27
15
9

Đầu ra

true
false
true