Vòng lặp
Mô tả
Tại một trạm chuyển mạch cáp quang của VNPT, mỗi khung truyền tải dữ liệu được mã hóa bằng một dãy tín hiệu nhị phân. Mỗi bit mang giá trị 1 tượng trưng cho một xung nhịp truyền thành công, còn bit 0 là khoảng nghỉ giữa các xung. Kỹ sư trực trạm cần đếm nhanh tổng số xung nhịp thành công trong khung để đối chiếu với nhật ký hệ thống.
Thực tế, hệ thống lưu khung dưới dạng một số nguyên không âm n, trong đó biểu diễn nhị phân của n chính là dãy bit của khung. Nhiệm vụ của bạn là đếm xem trong biểu diễn nhị phân của n có bao nhiêu bit bằng 1.
Đầu vào
- Một số nguyên không âm
n(0 ≤ n ≤ 10^9), đại diện cho giá trị số của khung truyền tải.
Đầ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 ≤ 10^9.
- Độ phức tạp thời gian mục tiêu: O(số bit của n).
Ví dụ
Ví dụ 1:
- Đầu vào:
n = 13 - Đầu ra:
3 - Giải thích:
13ở hệ nhị phân là1101, trong đó có ba bit1(ở các vị trí có giá trị 8, 4 và 1). Vậy kết quả là3.
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. Vậy kết quả là0.