Se le dan los valores RGB de un color. Su tarea es simple: calcular el tono, en la definición más simple.
Digamos que los canales con el valor más alto, medio y más bajo son X, Y, Z (que son rojos, verdes o azules) y sus valores son x, y, z. El tono de este color es (h (X) -h (Y)) * (1 + (xy) / (xz)) / 2 + h (Y), donde:
h(red) = 0 (or 360 if one of X or Y is blue)
h(green) = 120
h(blue) = 240
La entrada consta de 3 enteros de 0 a 255 que no son todos iguales, en ningún orden consistente. La salida puede ser flotante o números enteros redondeados hacia arriba o hacia abajo, lo que no tiene que ser consistente. Si la parte entera de la salida es 0 o 360, puede imprimir cualquiera de ellos.
No puede llamar a las incorporaciones para conversiones de espacio de color, incluidas las conversiones implícitas, como al manipular una imagen.
Este es el código de golf. El código más corto gana.
Ejemplos
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)
Editar
No tiene que seguir la fórmula exacta, pero solo tiene que dar el mismo resultado que la fórmula anterior. También me gustaría ver algunas respuestas jugando a la fórmula en sí.