Thiết bị đầu cuối tương thích Xterm 256 màu thêm 240 màu trên 16 màu hệ thống thông thường. Màu sắc 16-231 sử dụng 6 cấp độ (0, 95, 135, 175, 215, 255) màu đỏ, xanh lá cây và xanh dương, được sắp xếp theo thứ tự từ vựng. Màu sắc 232-255 chỉ đơn giản là 24 cấp độ màu xám (8 ... 238 x 10 giây). Để hiểu rõ hơn về những gì tôi đang nói, hãy xem bảng này .
Các thách thức
Mục tiêu của bạn là tạo ra một chương trình hoặc chức năng, làm đầu vào, giá trị rgb và xuất số tương ứng với màu Xterm gần nhất với giá trị rgb đó. Vì 16 màu hệ thống (màu 0-15) thường có thể tùy chỉnh, bạn sẽ loại trừ chúng khỏi chuyển đổi này.
Để xác định rõ hơn màu "gần nhất" là gì, hãy sử dụng khoảng cách Manhattan dọc theo các thành phần màu đỏ, xanh lá cây và xanh dương. Ví dụ, cách rgb(10, 180, 90)
20 đơn vị rgb(0, 175, 95)
(màu 35) bởi vì abs(10 - 0) + abs(180 - 175) + abs(90 - 95) == 20
. Nếu màu đầu vào bằng nhau giữa hai hoặc nhiều màu Xterm, hãy xuất màu Xterm với chỉ số cao nhất.
Ví dụ
R G B Xterm
0 0 0 ==> 16
95 135 0 ==> 64
255 255 255 ==> 231
238 238 238 ==> 255
90 133 140 ==> 66
218 215 216 ==> 188
175 177 178 ==> 249
175 0 155 ==> 127
75 75 75 ==> 239
23 23 23 ==> 234
115 155 235 ==> 111
Quy tắc
- Sơ hở tiêu chuẩn bị cấm
- Chương trình hoặc chức năng của bạn được phép lấy các giá trị rgb ở bất kỳ định dạng hợp lý nào, bao gồm:
- Các đối số riêng biệt cho màu đỏ, xanh lá cây và xanh dương
- Một danh sách, tuple, từ điển hoặc tương tự
- Chuỗi phân tách hoặc stdin phân tách
- Màu lục (ví dụ
#ff8000
)
- Bạn có thể giả sử rằng tất cả các giá trị r, g và b, sẽ là các số nguyên trong khoảng từ 0 đến 255.
- Vì 16 màu hệ thống sẽ bị loại trừ khỏi ánh xạ, tất cả các kết quả đầu ra phải nằm trong phạm vi 16 ... 255.
Đây là mã golf , vì vậy mã ngắn nhất sẽ thắng.