색상의 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)
편집하다
정확한 공식을 따를 필요는 없지만 위 공식과 동일한 결과 만 제공하면됩니다. 또한 수식 자체를 골프화하는 몇 가지 답변을보고 싶습니다.