Số học
Mô tả
Tại tổ hợp luyện kim Hòa Phát, mỗi lò kẽm được trang bị một hệ thống 32 cảm biến nhiệt độ gắn quanh thành lò. Trung tâm giám sát gửi về một số nguyên n, trong đó bit thứ i (tính từ phải sang trái, bắt đầu từ 0) cho biết cảm biến thứ i đang bật (1) hay tắt (0). Ví dụ, số 13 có biểu diễn nhị phân 1101, nghĩa là cảm biến 0, 2 và 3 đang bật, còn cảm biến 1 đang tắt.
Nhiệm vụ của bạn là: cho trước số nguyên n, hãy đếm xem có bao nhiêu cảm biến đang hoạt động (tức là đếm số bit 1 trong biểu diễn nhị phân của n).
Đầu vào
- Một số nguyên không âm
n(0 ≤ n < 2^31), đại diện cho trạng thái của hệ thống cảm biến.
Đầu ra
- Trả về một số nguyên là tổng số bit
1trong biểu diễn nhị phân củan.
Ràng buộc
0 ≤ n < 2^31(đảm bảo an toàn số học trong mọi ngôn ngữ).- Độ phức tạp mục tiêu:
O(số bit 1)hoặcO(1).
Ví dụ
Ví dụ 1:
- Đầu vào:
n = 13 - Đầu ra:
3 - Giải thích:
13ở hệ nhị phân là1101, có đúng 3 bit1ở các vị trí 0, 2 và 3. Vậy có 3 cảm biến đang hoạt động.
Ví dụ 2:
- Đầu vào:
n = 0 - Đầu ra:
0 - Giải thích:
0ở hệ nhị phân là0, không có bit1nào, tức toàn bộ cảm biến đều tắt do lò đang bảo trì.
Ví dụ 3:
- Đầu vào:
n = 7 - Đầu ra:
3 - Giải thích:
7ở hệ nhị phân là , có 3 bit , tức 3 cảm biến đầu đang hoạt động ở công suất cao.