Cho một số, tìm độ dài chuỗi 1 liên tiếp dài nhất trong biểu diễn nhị phân của nó.
Ví dụ
Input: n = 15 Output: 4 Biểu diễn nhị phân của 14 là 1111.
Thuật toán
Bước 1: Nhập số. Bước 2: Dùng biến đếm c=0. Bước 3: Đếm số vòng lặp để đạt i = 0. Bước 4: Thao tác này giảm độ dài mỗi chuỗi 1 đi một.
Mã ví dụ
# Chương trình Python tìm # độ dài chuỗi 1 liên tiếp # dài nhất trong biểu diễn nhị phân của số. def maxlength(n): # Khởi tạo kết quả c = 0 # Đếm số vòng lặp để # đạt x = 0. while (n != 0): # Thao tác này giảm độ dài # của mỗi chuỗi 1 đi một. n = (n & (n << 1)) c = c + 1 return c # Mã điều khiển n=int(input("Nhập Số ::>")) print("Độ Dài Tối Đa Của 1 ::>", maxlength(n)) Kết quả
Nhập Số ::>15 Độ Dài Tối Đa Của 1 ::>4