Menu
CoddyTech

Power of Two

Bạn nhận được một số nguyên n. Trả về true nếu n là lũy thừa của hai, nghĩa là n = 2^k với một số nguyên k ≥ 0, và trả về false nếu không phải. Vậy nên 1, 2, 4 và 8 được tính, còn 0, 6 và mọi số âm thì không.

Hàm

isPowerOfTwo(n: integer) → boolean
ninteger
số nguyên (integer) cần kiểm tra, có thể bằng không hoặc âm
Trả vềboolean
đúng nếu n bằng 2^k với một k ≥ 0, ngược lại là sai

Ràng buộc

  • -231 ≤ n ≤ 231-1

Ví dụ

Đầu vào
n = 16
Đầu ra
true
Giải thích
16 = 2 × 2 × 2 × 2 = 2^4. Trong hệ nhị phân, số này là 10000, gồm một bit 1.
challenge icon

Câu hỏi mở rộng

Với những mẹo thao tác bit tương tự, bạn có thể kiểm tra xem n có phải là lũy thừa của 4 mà không cần dùng vòng lặp không?

Đặt lại code
def isPowerOfTwo(n):
    # Viết code tại đây

Kiểm thử #1

Kiểm thử #2

Kiểm thử #3

Đối số

n = 16

Đầu ra mong đợi

true