Mô tả
Khu bảo tồn rừng ngập nước U Minh lắp một hệ thống báo cháy rừng do Viettel triển khai. Mỗi trạm cảm biến ở rừng gửi về trung tâm một gói tin chứa mã trạng thái dạng số nguyên không âm. Kỹ sư quan sát thấy khi viết mã này ra dạng nhị phân, những dãy bit 1 liền nhau tượng trưng cho chuỗi báo hiệu liên tục từ trạm. Trạm nào có dãy bit 1 dài nhất thì hệ thống ưu_uint16 ưu tiên kiểm tra trước vì khả năng cháy đang lan rất nhanh.
Nhiệm vụ của bạn: Cho trước mã trạng thái n, hãy chuyển nó sang biểu diễn nhị phân rồi tìm độ dài dãy bit 1 liên tiếp dài nhất. Nếu n = 0 thì kết quả là 0.
Đầu vào
- Một số nguyên không âm
n(kiểu số nguyên).
Đầu ra
- Trả về một số nguyên là độ dài dãy bit
1dài nhất trong biểu diễn nhị phân củan.
Ràng buộc
0 ≤ n ≤ 10^9.
Ví dụ
Ví dụ 1:
- Đầu vào:
n = 156 - Đầu ra:
3
Giải thích: 156 viết ở hệ nhị phân là 10011100. Dãy bit 1 liên tiếp dài nhất có độ dài 3 (đoạn 111 ở giữa). 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ó bit 1 nào nên kết quả là 0.