Giả sử chúng ta có một số lớn hơn 0, chúng ta phải kiểm tra xem số đó có phải là lũy thừa của hai hay không.
Vì vậy, nếu đầu vào là 1024, thì đầu ra sẽ là True.
Để giải quyết vấn đề này, chúng ta sẽ làm theo các bước sau -
-
trong khi n> 1, thực hiện
-
n:=n / 2
-
-
trả về true khi n giống 1, nếu không thì 0
Hãy cùng chúng tôi xem cách triển khai sau để hiểu rõ hơn -
Ví dụ
class Solution: def solve(self, n): while n > 1: n /= 2 return n == 1 ob = Solution() print(ob.solve(1024))
Đầu vào
1024
Đầu ra
True