/* package whatever; // don't place package name! */
import java.util.*;
import java.lang.*;
import java.io.*;
/* Name of the class has to be "Main" only if the class is public. */
class Ideone
{
private static float hueToRGB(float m1, float m2, float h) {
if(h < 0) {
h += 1.0f;
} else if(h > 1.0f) {
h -= 1.0f;
}
if((h * 6) < 1) {
return m1 + (m2 - m1) * 6 * h;
} else if((h * 2) < 1) {
return m2;
} else if((h * 3) < 2) {
return m1 + (m2 - m1) * ((2.0f / 3.0f) - h) * 6;
} else {
return m1;
}
}
public static void main
(String[] args
) { float h = 180.0f / 360.0f;
float s = 100.0f / 100.0f;
float l = 38.0f / 100.0f;
float r = 0;
float g = 0;
float b = 0;
if(s == 0.0) {
r = g = b = l;
} else {
float m2 = l < 0.5 ? l * (1 + s) : (l + s) - (l * s);
float m1 = (l * 2) - m2;
r = hueToRGB(m1, m2, h + (1.0f / 3.0f));
g = hueToRGB(m1, m2, h);
b = hueToRGB(m1, m2, h - (1.0f / 3.0f));
}
System.
out.
printf("%.2f %.2f %.2f -> %.2f %.2f %.2f",
h, s, l,
r, g, b);
}
}
LyogcGFja2FnZSB3aGF0ZXZlcjsgLy8gZG9uJ3QgcGxhY2UgcGFja2FnZSBuYW1lISAqLwoKaW1wb3J0IGphdmEudXRpbC4qOwppbXBvcnQgamF2YS5sYW5nLio7CmltcG9ydCBqYXZhLmlvLio7CgovKiBOYW1lIG9mIHRoZSBjbGFzcyBoYXMgdG8gYmUgIk1haW4iIG9ubHkgaWYgdGhlIGNsYXNzIGlzIHB1YmxpYy4gKi8KY2xhc3MgSWRlb25lCnsKICAgIHByaXZhdGUgc3RhdGljIGZsb2F0IGh1ZVRvUkdCKGZsb2F0IG0xLCBmbG9hdCBtMiwgZmxvYXQgaCkgewogICAgICAgIGlmKGggPCAwKSB7CiAgICAgICAgICAgIGggKz0gMS4wZjsKICAgICAgICB9IGVsc2UgaWYoaCA+IDEuMGYpIHsKICAgICAgICAgICAgaCAtPSAxLjBmOwogICAgICAgIH0KCiAgICAgICAgaWYoKGggKiA2KSA8IDEpIHsKICAgICAgICAgICAgcmV0dXJuIG0xICsgKG0yIC0gbTEpICogNiAqIGg7CiAgICAgICAgfSBlbHNlIGlmKChoICogMikgPCAxKSB7CiAgICAgICAgICAgIHJldHVybiBtMjsKICAgICAgICB9IGVsc2UgaWYoKGggKiAzKSA8IDIpIHsKICAgICAgICAgICAgcmV0dXJuIG0xICsgKG0yIC0gbTEpICogKCgyLjBmIC8gMy4wZikgLSBoKSAqIDY7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgcmV0dXJuIG0xOwogICAgICAgIH0KICAgIH0KCiAgICBwdWJsaWMgc3RhdGljIHZvaWQgbWFpbihTdHJpbmdbXSBhcmdzKSB7CiAgICAgICAgZmxvYXQgaCA9IDE4MC4wZiAvIDM2MC4wZjsKICAgICAgICBmbG9hdCBzID0gMTAwLjBmIC8gMTAwLjBmOwogICAgICAgIGZsb2F0IGwgPSAgMzguMGYgLyAxMDAuMGY7CiAgICAgICAgZmxvYXQgciA9IDA7CiAgICAgICAgZmxvYXQgZyA9IDA7CiAgICAgICAgZmxvYXQgYiA9IDA7CgogICAgICAgIGlmKHMgPT0gMC4wKSB7CiAgICAgICAgICAgIHIgPSBnID0gYiA9IGw7CiAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgZmxvYXQgbTIgPSBsIDwgMC41ID8gbCAqICgxICsgcykgOiAobCArIHMpIC0gKGwgKiBzKTsKICAgICAgICAgICAgZmxvYXQgbTEgPSAobCAqIDIpIC0gbTI7CgogICAgICAgICAgICByID0gaHVlVG9SR0IobTEsIG0yLCBoICsgKDEuMGYgLyAzLjBmKSk7CiAgICAgICAgICAgIGcgPSBodWVUb1JHQihtMSwgbTIsIGgpOwogICAgICAgICAgICBiID0gaHVlVG9SR0IobTEsIG0yLCBoIC0gKDEuMGYgLyAzLjBmKSk7CiAgICAgICAgfQoKICAgICAgICBTeXN0ZW0ub3V0LnByaW50ZigiJS4yZiAlLjJmICUuMmYgLT4gJS4yZiAlLjJmICUuMmYiLAogICAgICAgICAgICAgICAgICAgICAgICAgIGgsIHMsIGwsCiAgICAgICAgICAgICAgICAgICAgICAgICAgciwgZywgYik7CiAgICB9CiAgICAKfQ==