Anda diberi nilai warna RGB. Tugas Anda sederhana: untuk menghitung rona, dalam definisi paling sederhana.
Katakanlah saluran dengan nilai tertinggi, menengah dan terendah adalah X, Y, Z (yang berwarna merah, hijau atau biru) dan nilainya adalah x, y, z. Rona warna ini adalah (h (X) -h (Y)) * (1 + (xy) / (xz)) / 2 + h (Y), di mana:
h(red) = 0 (or 360 if one of X or Y is blue)
h(green) = 120
h(blue) = 240
Input terdiri dari 3 bilangan bulat dari 0 hingga 255 yang tidak semuanya sama, dalam urutan yang konsisten. Outputnya bisa berupa float, atau bilangan bulat dibulatkan ke atas atau ke bawah, yang tidak harus konsisten. Jika bagian integer dari output adalah 0 atau 360, Anda dapat mencetak salah satunya.
Anda tidak dapat memanggil builtin untuk konversi ruang warna, termasuk konversi tersirat seperti saat memanipulasi gambar.
Ini adalah kode-golf. Kode terpendek menang.
Contohnya
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)
Edit
Anda tidak harus mengikuti rumus yang tepat, tetapi hanya harus memberikan hasil yang sama dengan rumus di atas. Saya juga ingin melihat beberapa jawaban menggunakan rumus itu sendiri.