Вам даються значення 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)
Редагувати
Ви не повинні дотримуватися точної формули, а лише дати той же результат, що і вищевказана формула. Я хотів би також побачити кілька відповідей, що стосуються самої формули.