您将获得颜色的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)
编辑
您不必遵循确切的公式,而只需给出与上述公式相同的结果。我也希望看到一些有关公式本身的答案。