In CSS können Farben durch ein "Hexadezimaltripel" angegeben werden - eine hexadezimale Zahl mit drei Bytes (sechs Stellen), wobei jedes Byte die roten, grünen oder blauen Komponenten der Farbe darstellt. Zum Beispiel #FF0000
ist komplett rot und entspricht rgb(255, 0, 0)
.
Farben können auch durch die Kurzschreibweise dargestellt werden, die drei hexadezimale Ziffern verwendet. Die Kurzschrift wird durch Duplizieren jeder Ziffer zur sechsstelligen Form erweitert. Zum Beispiel #ABC
wird #AABBCC
.
Da die hexadezimale Kurzschrift weniger Ziffern enthält, können weniger Farben dargestellt werden.
Die Herausforderung
Schreiben Sie ein Programm oder eine Funktion, die einen sechsstelligen hexadezimalen Farbcode verwendet und den nächsten dreistelligen Farbcode ausgibt.
Hier ist ein Beispiel:
- Hex-Code eingeben: # 28a086
- Rote Komponente
- 0x28 = 40 (dezimal)
- 0x22 = 34
- 0x33 = 51
- 0x22 ist näher, daher ist die erste Ziffer des verkürzten Farbcodes 2
- Grüne Komponente
- 0xa0 = 160
- 0x99 = 153
- 0xaa = 170
- 0x99 ist näher, also ist die zweite Ziffer 9
- Blaue Komponente
- 0x86 = 134
- 0x77 = 119
- 0x88 = 136
- 0x88 ist näher, also ist die dritte Ziffer 8
- Der verkürzte Farbcode lautet # 298 (erweitert auf # 229988).
Ihr Programm oder Ihre Funktion muss einen sechsstelligen hexadezimalen Farbcode als Eingabe akzeptieren und einen dreistelligen Farbcode als Eingabe #
ausgeben#
.
Beispiele
- # FF0000 → # F00
- # 00FF00 → # 0F0
- # D913C4 → # D1C
- # C0DD39 → # BD3
- # 28A086 → # 298
- # C0CF6F → # BC7
Wertung
Dies ist eine Code-Golf-Herausforderung, daher gewinnt die kürzeste Antwort in Ihrer Sprache! Es gelten Standardregeln.
#
zusätzlichen Herausforderungen gibt.