Mô tả
Tại trạm giám sát cụm cảm biến cảng Cát Lái, trạng thái hoạt động của từng cảm biến được gói gọn vào một thanh ghi 32-bit. Mỗi bit trong thanh ghi tương ứng với một cảm biến: bit mang giá trị 1 nghĩa là cảm biến đó đang báo tín hiệu (đang sáng), bit mang giá trị 0 nghĩa là cảm biến đang tắt.
Ví dụ, nếu thanh ghi mang giá trị 13, biểu diễn nhị phân là 1101, tức là có ba bit mang giá trị 1. Điều này cho biết đang có ba cảm biến báo tín hiệu cùng lúc. Nhiệm vụ của bạn là viết một chương trình nhận vào một số nguyên không âm và đếm xem có bao nhiêu bit mang giá trị 1 trong biểu diễn nhị phân của số đó.
Đầu vào
Một số nguyên không âm n (0 <= n <= 2^31 - 1).
Đầu ra
Trả về một số nguyên duy nhất là tổng số bit mang giá trị 1 trong biểu diễn nhị phân của n.
Ràng buộc
0 <= n <= 2^31 - 1- Độ phức tạp thời gian mục tiêu:
O(k)vớiklà số bit trong biểu diễn nhị phân củan.
Ví dụ
Ví dụ 1:
- Đầu vào:
13 - Đầu ra:
3 - Giải thích: Số
13được biểu diễn dưới dạng nhị phân là1101. Trong dãy bit này có ba bit mang giá trị1, nên kết quả trả về là3.
Ví dụ 2:
- Đầu vào:
0 - Đầu ra:
0 - Giải thích: Số
0được biểu diễn dưới dạng nhị phân là0. Không có bit nào mang giá trị1, nên kết quả trả về là0.