Cho số n. Kiểm tra n có phải lũy thừa của 3 không. Ví dụ: 27 → true, 15 → false.
Giải pháp
Sử dụng logarit:
- Nếu n <= 0 → false.
- Kiểm tra (log10(n)/log10(3)) % 1 == 0.
Ví dụ
Triển khai Python:
class Solution(object):
def isPowerOfThree(self, n):
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