Các bộ ba hex như #ffffff(trắng) hoặc #3764ef(xanh lam) thường được sử dụng để biểu thị màu RGB. Chúng bao gồm #sáu chữ số thập lục phân (0-f) hoặc đôi khi là ba chữ số trong đó màu thực có được bằng cách nhân đôi mỗi chữ số. Ví dụ, #ffflà #ffffffvà #1a8là #11aa88.
Đáng buồn thay, tốc ký ba chữ số đó là golf tốt nhất mà Internet phải cung cấp, cho đến bây giờ .
Viết chương trình hoặc hàm có chuỗi từ 1 đến 7 ký tự:
- Nhân vật đầu tiên sẽ luôn như vậy
#. - Các ký tự khác sẽ luôn là các chữ số thập lục phân :
0123456789abcdef.
Đầu vào là một dạng tốc ký của bộ ba hex (hoặc dạng đầy đủ nếu có 7 ký tự). Bạn cần xuất ra một bộ ba hex đầy đủ để mở rộng tốc ký đầu vào dựa trên các mẫu sau:
Input -> Output
# -> #000000 (black)
#U -> #UUUUUU
#UV -> #UVUVUV
#UVW -> #UUVVWW (usual 3-digit shorthand)
#UVWX -> #UXVXWX
#UVWXY -> #UVWXYY
#UVWXYZ -> #UVWXYZ (not shorthand)
Mỗi U, V, W, X, Y, và Zcó thể là bất kỳ chữ số thập lục phân. Đầu ra luôn là 7 ký tự.
Ví dụ:
Input -> Output
# -> #000000
#0 -> #000000
#4 -> #444444
#f -> #ffffff
#a1 -> #a1a1a1
#0f -> #0f0f0f
#99 -> #999999
#1a8 -> #11aa88
#223 -> #222233
#fff -> #ffffff
#1230 -> #102030
#d767 -> #d77767
#bbb5 -> #b5b5b5
#aabbc -> #aabbcc
#00000 -> #000000
#3764e -> #3764ee
#3764ef -> #3764ef
#123456 -> #123456
#f8f8f8 -> #f8f8f8
Ghi chú
Đầu vào sẽ luôn bắt đầu bằng
#và do đó phải đầu ra.Bạn có thể giả sử tất cả các chữ cái đầu vào là chữ thường (
abcdef) hoặc chữ hoa (ABCDEF) nếu muốn.Chữ cái trong đầu ra có thể là một trong hai trường hợp bạn muốn. Bạn thậm chí có thể trộn các trường hợp.
Alpha / độ trong suốt không được xử lý ở đây (mặc dù có các phiên bản hex của màu RGBA).
Mã ngắn nhất tính bằng byte thắng.
#UVWXY -> #UVWXYYmục nhập vì nó cho phép biểu thị một giá trị duy nhất cho kênh Blue, nhưng không có biểu thức tương tự cho Red và Green (ví dụ: nếu tôi muốn #889071tôi không thể viết tắt, nhưng #907188có thể ... như #90718) Tất cả đều làm việc tuyệt vời.
#UVWX -> #UXVXWX. Đó là một hành vi không nhất quán và tùy tiện đến mức khó tin rằng không có một vài trình duyệt thực sự hiện đang thực hiện nó.
#RGBAvà #RRGGBBAA, vì vậy # 1234 nên được đọc làrgba(17, 34, 51, 0.25)