Вам даны значения RGB цвета. Ваша задача проста: рассчитать оттенок, в самом простом определении.
Скажем, каналы с наивысшим, средним и наименьшим значениями - это X, Y, Z (красные, зеленые или синие), а их значения - x, y, z. Оттенок этого цвета (h (X) -h (Y)) * (1 + (xy) / (xz)) / 2 + h (Y), где:
h(red) = 0 (or 360 if one of X or Y is blue)
h(green) = 120
h(blue) = 240
Входные данные состоят из 3 целых чисел от 0 до 255, которые не все равны в любом последовательном порядке. Выходными данными могут быть числа с плавающей запятой или целые числа, округленные вверх или вниз, что не обязательно должно быть согласованным. Если целая часть вывода равна 0 или 360, вы можете распечатать любой из них.
Вы не можете вызывать встроенные функции для преобразования цветового пространства, включая неявные преобразования, например, при манипулировании изображением.
Это код-гольф. Самый короткий код выигрывает.
Примеры
Input: 0 182 255
Output: 197 (or 198)
Input: 127 247 103
Output: 110
Input: 0 0 1
Output: 240
Input: 255 165 245
Output: 307 (or 306)
редактировать
Вы не должны следовать точной формуле, но должны дать тот же результат, что и вышеприведенная формула. Я также хотел бы увидеть ответы на некоторые вопросы по самой формуле.