Étant donné les codes de couleur en CMJN, convertissez-les en valeur RVB.
Entrée:
chaîne de 4 entiers (allant de 0 à 100) séparés par un espace
86 86 0 43
28 14 0 6
0 41 73 4
Production:
#141592
#ABCDEF
#F49043
Le code le plus court gagne!
CONSEIL: Pour convertir CMJN en RVB, vous pouvez utiliser une formule telle que:
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)
et utilisez ces trois variables pour obtenir la valeur au
#RRGGBB
format
code-golf
conversion
color
Étais-je
la source
la source
CMYK
valeurs telles que décimales de0
la1
ou est - il nécessaire de le faire0
pour100
?Réponses:
PHP , 90 octets
Essayez-le en ligne!
la source
Python 3 ,
10098 octets-2 octets grâce à Rod.
Essayez-le en ligne!
la source
Gelée , 24 octets
Un programme complet qui imprime le résultat.
Essayez-le en ligne!
Remarque: l' arrondi plutôt que le revêtement de sol peut être utilisé en insérant les deux octets de code
+.
entre255
etḞ
.Comment?
la source
_.Ċ
remplacer+.Ḟ
... mais cette dernière est peut-être plus largement utilisée.Rétine , 103 octets
Essayez-le en ligne! Remarque: Ce code est très lent, alors ne martelez pas le serveur de Dennis. Explication:
Convertissez chaque nombre en unaire et soustrayez de 100.
Multipliez tous les nombres par le dernier nombre, qui est supprimé.
Multipliez par 51, de sorte qu'une fois que nous divisons par 2000, nous obtenons
100 * 100 * 51 / 2000 = 255
comme souhaité.Diviser par 32000 et plancher diviser le reste par 2000, générant ainsi une paire de valeurs de base 16, bien que malheureusement elles-mêmes toujours écrites en base 10.
Convertir de la base 10 à la base 16.
Insérez l'interligne
#
.la source
Java 8, 166 octets
Essayez-le en ligne!
la source
Javascript (ES6), 106 octets
la source
C ++ (gcc) ,
169166 octetsEssayez-le en ligne!
Utilisation de la formule optimisée.
Ajoutéce qui n'est pas nécessaire.+.5
pour convertir CMJN =0 0 0 0
correct en RVB =0xffffff
la source
Python 3 ,
114 110 108 106 106104 octetsrange[3]
as[0,1,2]
, indésirables[]
supprimésEssayez-le en ligne!
la source
Ruby , 92 + 1 pour l'indicateur -p = 93 octets
Essayez-le en ligne!
la source
Perl 5 ,
5852 + 1 (-a) =5953 octetsEssayez-le en ligne!
la source
dc , 53 octets
Essayez-le en ligne!
la source
Javascript, 104 octets
Exemple d'extrait de code:
la source
q / kdb +, 55 octets
Solution:
Exemples:
Explication:
Assez simple, a volé l'
0.0255
astuce à d'autres solutions (merci!). L'évaluation se fait de droite à gauche.Remarques:
Par défaut, les nombres de tours coûteraient 3 octets
(_)
au sol avant d'être convertis.la source
05AB1E , 18 octets
Essayez-le en ligne!
-1 grâce à kalsowerus .
A des inexactitudes en virgule flottante, donc les résultats peuvent être décalés d'un, mais la formule de la question est utilisée.
la source
$
c'est la même chose que1¹
input
Haskell, 165 octets
la source
Fortran, 156 octets
la source