色の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
入力は、0〜255の3つの整数で構成されますが、これらはすべて同じではなく、一貫した順序です。出力は、浮動小数点数、または整数を切り上げまたは切り捨てることができますが、一貫している必要はありません。出力の整数部が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)
編集
正確な式に従う必要はありませんが、上記の式と同じ結果を与える必要があります。また、フォーミュラ自体をゴルフするいくつかの答えも見たいです。