Cho số nhị phân A làm đầu vào có d> 1 chữ số, xuất số nhị phân B có chữ số d theo các quy tắc sau để tìm chữ số thứ n của B:
Chữ số đầu tiên của B bằng 0 nếu chữ số thứ nhất và thứ hai của A bằng nhau; mặt khác, nó là một.
Nếu 1 <n <d, thì nếu các chữ số (n-1) th, n và (n + 1) của A bằng nhau, thì chữ số thứ n của B bằng 0; mặt khác, nó là một.
Chữ số dth của B bằng 0 nếu chữ số thứ (d-1) và dth của A bằng nhau; mặt khác, nó là một.
Quy tắc
Định dạng đầu vào / đầu ra chuỗi / danh sách là tốt. Một cách khác được cho phép của đầu vào / đầu ra là một số nguyên theo sau là số 0 trước (hoặc theo số 0 trước).
Làm cho mã của bạn càng ngắn càng tốt.
Các trường hợp thử nghiệm
00 -> 00
01 -> 11
11 -> 00
010111100111 -> 111100111100
1000 -> 1100
11111111 -> 00000000
01010101 -> 11111111
1100 -> 0110
1100 -> 0110
(2 chữ số đầu tiên của đầu ra luôn giống hệt nhau trong tất cả các trường hợp thử nghiệm khác; ditto cho 2 chữ số cuối)