İçeriğe atla
Kod Okumaİkinin Kuvveti mi?
AI'yı Denetle

İkinin Kuvveti mi?

Bitlerle tek satırlık bir numara ve iki alternatif. Birinde sınır durumu atlanmış. Etiketle.

Problem

is_power_of_two(n): n ≥ 0 bir tam sayı. n ikinin bir kuvvetiyse (1, 2, 4, 8, …) True döndür.

Çözüm A

1def is_power_of_two(n):
2 return n & (n - 1) == 0

Çözüm B

1def is_power_of_two(n):
2 return n > 0 and n & (n - 1) == 0

Çözüm C

1def is_power_of_two(n):
2 while n > 1 and n % 2 == 0:
3 n //= 2
4 return n == 1