Với hai tùy tiện chính xác thập phân số 0 ≤ x < y ≤ 1, tính toán (trong chữ số) ngắn nhị phân số b mà x ≤ b < y .
Xuất các chữ số nhị phân của b sau điểm nhị phân dưới dạng một mảng hoặc một chuỗi các số 0 và một. Lưu ý rằng mảng trống có nghĩa là 0,0, nhờ vào việc xóa các số 0 ở cuối. Điều này cũng đảm bảo rằng có một câu trả lời đúng duy nhất cho bất kỳ phạm vi nào.
Nếu bạn không quen thuộc với các số phân số nhị phân, chúng hoạt động giống như các số thập phân:
Base 10 0.625 = 0.6 + 0.02 + 0.005 = 6 x 10^-1 + 2 x 10^-2 + 5 x 10^-3
Base 2 0.101 = 0.1 + 0.00 + 0.001 = 1 x 2^-1 + 0 x 2^-2 + 1 x 2^-3
| | |
v v v
Base 10 0.625 = 0.5 + 0 + 0.125
Được xây dựng mà tầm thường hóa vấn đề này không được phép.
Ví dụ:
0.0, 1.0 -> ""
0.1, 1.0 -> "1"
0.5, 0.6 -> "1"
0.4, 0.5 -> "0111"
Mã ngắn nhất sẽ thắng.
(0.98983459823945792125172638374187268447126843298479182647, 0.98983459823945792125172638374187268447126843298479182648)
? Ngoài ra, các trường hợp thử nghiệm sẽ hữu ích.