Mô tả
Tại trạm exchange Vinaphone quận Gò Vấp, bác kỹ thuật viên Tư đang trực ca đêm. Trước mặt bác là một bảng điện tổng đài cũ kỹ, mỗi kênh thoại tương ứng với một đèn LED nhỏ. Bảng được điều khiển bởi một thanh ghi trạng thái — một số nguyên không âm mà mỗi bit trong biểu diễn nhị phân đại diện cho một đèn: bit 1 nghĩa là đèn đang sáng, bit 0 nghĩa là đèn tắt.
Đầu giờ sáng, đồng hồ báo động nháy liên tục. Bác Tư cần biết tổng số đèn LED đang sáng hiện tại để quyết định có gọi thêm đồng nghiệp hỗ trợ hay không. Bạn hãy viết chương trình giúp bác Tư đếm số bit 1 trong biểu diễn nhị phân của số nguyên đầu vào.
Đầu vào
Một số nguyên không âm n (kiểu số nguyên), biểu diễn trạng thái thanh ghi của bảng tổng đài.
Đầu ra
Trả về một số nguyên là tổng số bit 1 trong biểu diễn nhị phân của n.
Ràng buộc
- 0 ≤ n ≤ 10^9
Ví dụ
Ví dụ 1:
- Đầu vào:
13 - Đầu ra:
3
Giải thích: Số 13 viết ở hệ nhị phân là 1101. Có 3 bit mang giá trị 1, tương ứng 3 đèn LED đang sáng trên bảng tổng đài.
Ví dụ 2:
- Đầu vào:
0 - Đầu ra:
0
Giải thích: Số 0 ở hệ nhị phân là 0, không có bit nào bật, tức toàn bộ đèn LED đều tắt — ca đêm yên ả.