В CSS цвета могут быть определены «шестнадцатеричным триплетом» - трехбайтовым (шестизначным) шестнадцатеричным числом, где каждый байт представляет красный, зеленый или синий компоненты цвета. Например, #FF0000
полностью красный и эквивалентен rgb(255, 0, 0)
.
Цвета также могут быть представлены сокращенной записью, которая использует три шестнадцатеричных цифры. Сокращение расширяется до шестизначной формы путем дублирования каждой цифры. Например, #ABC
становится #AABBCC
.
Поскольку в шестнадцатеричном сокращении меньше цифр, можно представить меньше цветов.
Соревнование
Напишите программу или функцию, которая принимает шестизначный шестнадцатеричный цветной код и выводит ближайший трехзначный цветной код.
Вот пример:
- Введите шестнадцатеричный код: # 28a086
- Красный компонент
- 0x28 = 40 (десятичное число)
- 0x22 = 34
- 0x33 = 51
- 0x22 ближе, поэтому первая цифра укороченного цветового кода равна 2
- Зеленый компонент
- 0xa0 = 160
- 0x99 = 153
- 0xaa = 170
- 0x99 ближе, поэтому вторая цифра 9
- Синий компонент
- 0x86 = 134
- 0x77 = 119
- 0x88 = 136
- 0x88 ближе, поэтому третья цифра 8
- Сокращенный код цвета # 298 (который расширяется до # 229988)
Ваша программа или функция должны принимать в качестве входных данных шестизначный шестнадцатеричный цветовой код с #
предварительным добавлением и выводить трехзначный цветовой код с предварительным добавлением #
.
Примеры
- # FF0000 → # F00
- # 00FF00 → # 0F0
- # D913C4 → # D1C
- # C0DD39 → # BD3
- # 28A086 → # 298
- # C0CF6F → # BC7
счет
Это соревнование по коду, поэтому самый короткий ответ на вашем языке выигрывает! Стандартные правила применяются.
#
добавляет к вызову.