Dados los códigos de color en CMYK, conviértalo a valor RGB.
Entrada:
cadena de 4 enteros (que van de 0 a 100) separados por espacio
86 86 0 43
28 14 0 6
0 41 73 4
Salida:
#141592
#ABCDEF
#F49043
¡El código más corto gana!
SUGERENCIA: para convertir CMYK a RGB, puede usar fórmulas como:
Red = 255 x (1 - Cyan/100) x (1 - Black/100) Green = 255 x (1 - Magenta/100) x (1 - Black/100) Blue = 255 x (1 - Yellow/100) x (1 - Black/100)
y use estas tres variables para obtener el valor en
#RRGGBB
formato
code-golf
conversion
color
Wasi
fuente
fuente
CMYK
valores como decimales de0
a1
o es necesario hacerlo0
a100
?Respuestas:
PHP , 90 bytes
Pruébalo en línea!
fuente
Python 3 ,
10098 bytes-2 bytes gracias a Rod.
Pruébalo en línea!
fuente
Jalea , 24 bytes
Un programa completo que imprime el resultado.
Pruébalo en línea!
Nota: se puede usar redondeo en lugar de piso insertando los dos bytes de código
+.
entre255
yḞ
.¿Cómo?
fuente
_.Ċ
lugar de+.Ḟ
... pero esta última es quizás más utilizada.Retina , 103 bytes
Pruébalo en línea! Nota: Este código es muy lento, así que no martillee el servidor de Dennis. Explicación:
Convierta cada número a unario y reste de 100.
Multiplique todos los números por el último número, que se elimina.
Multiplique por 51, de modo que una vez que dividimos entre 2000, obtengamos lo
100 * 100 * 51 / 2000 = 255
que desee.Dividir por 32000 y piso dividir el resto por 2000, generando así un par de valores de base 16, aunque lamentablemente todavía están escritos en la base 10.
Convierte de base 10 a base 16.
Insertar la guía
#
.fuente
Java 8, 166 bytes
Pruébalo en línea!
fuente
Javascript (ES6), 106 bytes
fuente
C ++ (gcc) ,
169166 bytesPruébalo en línea!
Usando la fórmula optimizada.
Agregadoque no es necesario.+.5
para convertir CMYK =0 0 0 0
correcto a RGB =0xffffff
fuente
Python 3 ,
114 110 108 106104 bytesrange[3]
como[0,1,2]
, no deseado[]
eliminadoPruébalo en línea!
fuente
Ruby , 92 + 1 para el indicador -p = 93 bytes
Pruébalo en línea!
fuente
Perl 5 ,
5852 + 1 (-a) =5953 bytesPruébalo en línea!
fuente
cc , 53 bytes
Pruébalo en línea!
fuente
Javascript, 104 bytes
Fragmento de código de ejemplo:
fuente
q / kdb +, 55 bytes
Solución:
Ejemplos:
Explicación:
Bastante sencillo, robó el
0.0255
truco de otras soluciones (¡gracias!). La evaluación se realiza de derecha a izquierda.Notas:
Los números de redondeo por defecto costarían 3 bytes
(_)
al piso antes de lanzarlo a corto.fuente
05AB1E , 18 bytes
Pruébalo en línea!
-1 gracias a kalsowerus .
Tiene imprecisiones de punto flotante, por lo que los resultados pueden ser independientes, pero se utiliza la fórmula de la pregunta.
fuente
$
es lo mismo que1¹
input
cuando habría múltiplesHaskell, 165 bytes
fuente
Fortran, 156 bytes
fuente