สมมติว่าเรามีตัวเลขที่มากกว่า 0 เราต้องตรวจสอบว่าตัวเลขนั้นเป็นกำลังสองหรือไม่
ดังนั้น หากอินพุตเป็น 1024 เอาต์พุตจะเป็น True
เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -
-
ในขณะที่ n> 1 ทำ
-
n :=n / 2
-
-
คืนค่า จริง เมื่อ n เท่ากับ 1 มิฉะนั้น 0
ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -
ตัวอย่าง
class Solution: def solve(self, n): while n > 1: n /= 2 return n == 1 ob = Solution() print(ob.solve(1024))
อินพุต
1024
ผลลัพธ์
True