Mô tả
Trên tuyến cao tốc Bắc - Nam, mỗi trạm thu phí BOT quản lý một hệ thống phân quyền tinh vi bằng mặt nạ nhị phân. Mỗi nhân viên được cấp một mã số nguyên dương, trong đó mỗi bit 1 ở vị trí tương ứng biểu thị một quyền hạn cụ thể: đoạt vé điện tử, tra cứu lịch sử giao dịch, miễn giảm phí, điều chỉnh giá vé, v.v.
Ví dụ, mã 13 có biểu diễn nhị phân là 1101, nghĩa là nhân viên này đang giữ 4 quyền khác nhau. Hệ thống giám sát cần biết chính xác mỗi nhân viên đang nắm bao nhiêu quyền để tự động phân loại cấp bậc và đánh giá rủi ro bảo mật.
Nhiệm vụ của bạn: Cho một số nguyên dương đại diện cho mặt nạ phân quyền, hãy đếm xem có bao nhiêu bit 1 trong biểu diễn nhị phân của số đó.
Đầu vào
- Một số nguyên dương
n(kiểu số nguyên), đại diện cho mặt nạ phân quyền của một nhân viên.
Đầu ra
- Trả về một số nguyên duy nhất là số bit
1trong biểu diễn nhị phân củan.
Ràng buộc
1 ≤ n ≤ 10^9- Biểu diễn nhị phân của
ncó tối đa 30 bit.
Ví dụ
Ví dụ 1:
- Đầu vào:
13 - Đầu ra:
3 - Giải thích: Số
13viết ở hệ nhị phân là1101. Có đúng 3 bit1(ở các vị trí thứ 0, 2, 3 từ phải sang trái), nên nhân viên này đang nắm giữ 3 quyền hạn.
Ví dụ 2:
- Đầu vào:
1024 - Đầu ra:
1 - Giải thích: Số
1024là2^10, viết ở hệ nhị phân là10000000000(1 bit1và 10 bit0). Nhân viên này chỉ có đúng 1 quyền hạn duy nhất.