Farbe RGB int bis hex

13

Bei drei Ganzzahlen rgb wird die hexadezimale Darstellung als Zeichenfolge ausgegeben.

Input:          Output:
72 61 139       #483D8B
75 0 130        #4B0082
0 255 127       #00FF7F

Kürzeste unorthodoxe Code gewinnt

Quillion
quelle
16
Unsere FAQ besagt, dass alle Fragen auf dieser Website ... ein objektives primäres Gewinnkriterium haben sollten, damit unbestreitbar entschieden werden kann, welcher Beitrag gewinnen soll. . Kürzeste ist objektiv, aber "am unorthodoxsten" ist nicht. Außerdem sollte das Code-Golf- Tag nur verwendet werden, wenn die Gewinnbedingung nur der kürzeste Code ist. und das Code-Challenge- Tag sollte nur verwendet werden, wenn das Code-Golf- Tag nicht verwendet wird.
Peter Taylor
und akzeptieren Sie den Gewinner vor einiger Zeit (in diesem Fall war nicht einmal 24h) Art weitere Beiträge entmutigen ...
woliveirajr
@PeterTaylor Entschuldigung, ich werde sicherstellen, dass ich die Richtlinien von nun an lese :( Ich denke, Sie haben Recht, unorthodox ist sehr vage
Quillion

Antworten:

14

Ruby: 19 buchstaben

$_=?#+"%02X"*3%$F

Probelauf:

bash-4.1$ ruby -pae '$_=?#+"%02X"*3%$F' <<< '72 61 139'
#483D8B

bash-4.1$ ruby -pae '$_=?#+"%02X"*3%$F' <<< '75 0 130'
#4B0082

bash-4.1$ ruby -pae '$_=?#+"%02X"*3%$F' <<< '0 255 127'
#00FF7F
Mann bei der Arbeit
quelle
16

Rubin

Ich habe mich mehr für den "unorthodoxen" Teil entschieden. ;)

10;a=    gets.   split
.  map  {|       x|  #x
"%02X"  %(  x.   to_i)
}; $>   <<   ?#  <<  a[
00  ..   1+2].   join;

Die Schriftart (in meinem Webbrowser) ist etwas groß, sieht also verzerrt aus, sieht aber in Courier New besser aus:

Bild

Probelauf:

c:\a\ruby>rgb2hex
255 100 0
#FF6400
Türknauf
quelle
Das ist Genie!
Albert Renshaw
6

q / k (3 Zeichen)

Nicht gerade unorthodox, aber ziemlich kurz

4h$

Beispiel

q)4h$ 72 61 139
0x483d8b

Um das Ausgabeformat in der Frage genau abzugleichen, können wir (für 9 Zeichen) Folgendes tun:

"#",/$4h$
Skeevey
quelle
1
Diesem fehlt das für die Beispielausgaben in der Frage erforderliche Pfundzeichen (#).
Iszi
5

PowerShell: 71 52 51 41

Dank @manatwork für das Hinweisen ForEach-Objectkann anstelle einer forSchleife verwendet werden.
Vielen Dank an @Joey für den Hinweis, dass ich -joindie Schleifenausgabe verwenden könnte, anstatt sie in Variablen einfügen zu müssen.

Golf Code:

'#'+-join(1..3|%{"{0:X2}"-f+(read-host)})

Hinweis:

Hier wird kein Fehler auf ungültige Eingaben überprüft. Das Skript nimmt gerne 256, 4096 und 65536 als Eingaben und gibt dann # 100100010000 aus (was offensichtlich nicht als RGB funktioniert).

Ungolfed, mit Kommentaren:

# Put a hashtag in front of the output.
'#'+

# Join the nested code into one string.
-join(

    # Pipe 1..3 to ForEach-Object to run a loop three times.
    1..3|%{

        # Take user input and format it as hex, with minimum two digits in output.
        "{0:X2}"-f+(read-host)
    }
)
Iszi
quelle
Machen Sie die Schleife foreach($i in 1,2,3), um es auf 68 Zeichen zu reduzieren.
Handarbeit
@manatwork Ich glaube nicht, dass dies die richtige Syntax für eine foreachin PowerShell ist. (Zumindest konnte ich einige Testläufe nicht zum Laufen bringen.) Mit der richtigen Syntax, einem integrierten Alias ​​und einer anderen PowerShell-Verknüpfung, die ich kürzlich entdeckt habe, habe ich jedoch etwas besseres, Rasierendes Weitere 12 Zeichen von Ihrem Vorschlag entfernt. (1..3)|%{...}(Fügen Sie anstelle der Auslassungspunkte eine in Klammern gesetzte Anweisung aus dem vorhandenen Skript ein.) Ich muss dies im Skript noch vollständig testen, aber danke, dass Sie mich in diese Richtung gelenkt haben!
Iszi
Keine Ahnung, ob es die richtige Syntax ist oder nicht, aber die SS64-Referenz für foreacherwähnt es und es funktioniert für mich. (Keine Ahnung von der Version. Die mit Windows 7.)
Manatwork
@manatwork Das ist interessant. Ich würde gerne ein bisschen herumgraben und herausfinden, was daran noch falsch ist (ich habe ein anderes Mal "unerwartetes Token 'in' ..." - Fehler bekommen.). Es ist möglich, dass der SS64-Artikel für eine andere Version von PowerShell geschrieben wurde - ich bin mir nicht sicher. Im Moment habe ich bestätigt, dass dies (1..3)|%funktioniert und das Skript auf 56 Zeichen reduziert. Ich werde das in der Antwort ändern und dir definitiv die Idee zuschreiben. Danke noch einmal!
Iszi
2
Oh Mist. Sie können dies bis 41 erhalten , indem Sie -join: '#'+-join(1..3|%{"{0:X2}"-f+(read-host)}).
Joey
4

Bash 22 21 Zeichen

(Dank an @manatwork für 1 Zeichen \anstelle von Anführungszeichen)

printf \#%02X%02X%02X 12 12 12 
#0C0C0C

oder Lesen von STDIN in einer Schleife: 48 Zeichen:

while read f;do printf "#%02X%02X%02X\n" $f;done <<<$'72 61 139\n75 0 130\n0 255 127'
#483D8B
#4B0082
#00FF7F

Hinzugefügt am 2015-10-06: bash ( unorthodoxere Methode) 84 83 Zeichen

c=({0..9} {a..f}) d=\#;for b;do for a in / %;do d+=${c[$b$a 020]};done;done;echo $d

Ich weiß, es könnten 82 Zeichen sein, wenn sie 020geschrieben wurden 16, aber ich bevorzuge dies ... Oder vielleicht d+=${c[$b$a 0x10]}das, was zuerst geschrieben wurde.

hexcolor() {
    local a b c=({0..9} {a..f}) d=\#
    for b ;do
        for a in / % ;do
            d+=${c[$b$a 0x10]}
        done
    done
    echo $d
}
hexcolor 72 61 139
#483d8b
hexcolor 75 0 130
#4b0082
hexcolor 0 255 127
#00ff7f

Ein weiterer Ansatz

#!/bin/bash
browser=firefox   #  google-chrome iceweasel
url="data:text/html;charset=UTF-8,<html><head></head><body>"
url+="<script type='text/javascript'>
  function h(i){var h=i.toString(16);if(16>1*i)h='0'+h;
  return h};function C(r,g,b){return'\043'+h(r)+h(g)+h(b)};
  function m(){ var r=1.0*R.value; var g=1.0*G.value; var b=1.0*B.value;
   var fore='black';if(384>r+g+b)fore='white';var c=C(r,g,b);
   s.setAttribute('style','background:'+c+';color:'+fore+';');s.innerHTML=c};
  function w(e){console.log(e);var val=e.target.value;var q=1;if(e.shiftKey)
  q=15;if(e.detail){if(e.detail>0){q=0-q;}}else if(0>e.wheelDelta){q=0-q;};
  val=1*val+q;if(val>255)val=255;if(0>val)val=0;e.target.value=val;m(); };
  function k(e){console.log(e);var val=e.target.value;var q=1;if(e.shiftKey)q=
  15;if(e.keyCode==38){val=1*val+q;if(val>255)val=255;e.target.value=val;m();}
  else if(e.keyCode==40){val=1*val-q;if(0>val)val=0;e.target.value=val;m();}};
  function n(){R=document.getElementById('R');G=document.getElementById('G');
    B=document.getElementById('B');s=document.getElementById('s');
    R.addEventListener('DOMMouseScroll',w);R.addEventListener('mousewheel',w);
    G.addEventListener('DOMMouseScroll',w);G.addEventListener('mousewheel',w);
    B.addEventListener('DOMMouseScroll',w);B.addEventListener('mousewheel',w);
  m();};var R, G, B, s;window.onload=n;
  </script><style>div{display:inline-block;width:10em;}</style>
  <div id='s'>&nbsp;</div>"
input="%s:<input type='text' size='5' value='200'"
input+=" onKeyDown='k(event)' onChange='m()' id='%s' />"
for c in R G B ;do
    printf -v add "$input" $c $c
    url+="$add"
  done    
$browser "$url"

Dies zeigt ein Browserfenster mit:

RGB int 2 hex viewer converter

Wo Sie das Mausrad drehen könnten, um Werte zu ändern (mit gedrückter Umschalttaste für Schritt um 15) ...

F. Hauri
quelle
Tatsächlich wurde der abschließende Zeilenumbruch nicht angefordert und nur "#" muss maskiert werden, das printf \#%02X%02X%02Xist ausreichend.
Manatwork
Eine unorthodoxere Methode wurde hinzugefügt :
F. Hauri
Lol. Diese innere Schleife ist in der Tat schockierend unorthodox.
Manatwork
@manatwork danke, ich finde d+=${c[$b$a 0x10]}etwas sexy !
F. Hauri
1
... oder vielleicht machen d+=${c[$b$a 020]}wir den Job und sehen gut aus
F. Hauri
3

Perl, 31 Zeichen

perl -nE 'say"#",map{unpack H2,chr}split'

Es ist schwer, ein so kurzes Programm unorthodox zu machen, aber ich denke, das funktioniert.

Brot-Box
quelle
Ich mag diese Antwort :) noch ein paar und ich denke, ich könnte mich damit abfinden, wenn nichts Besseres herumrollt.
Quillion
Cool! Nur eine unpackFrage: Können Sie die Hexadezimalzahl wie in der Frage in Großbuchstaben umwandeln?
Manatwork
@manatwork Ich habe versucht, einen Weg zu finden, es innerhalb von zu tun unpack, aber kein Glück. Eine Möglichkeit ist, sprintfanstatt zu verwenden unpack, aber das ist länger und völlig orthodox. Die andere Möglichkeit besteht darin, die Zeichenfolge in Großbuchstaben zu ändern: map{uc unpack H2,chr}zu einem Preis von drei Zeichen.
Brotkasten
Vielen Dank, @breadbox. Diese kniffligen kleinen packund kommen unpacknie in meinen Codierungsstil. Also ist es unorthodox genug für mich.
Handarbeit
Falsche Zählung. Das ergibt 30 Zeichen!
F. Hauri
3

Aktionsskript 3 | 43 Zeichen

trace("#"+(72<<16|61<<139|b).toString(16));

Ausgabe: #483D8B

Ilya Gazman
quelle
Können Sie hier nicht viel Leerraum fallen lassen? Ich kenne Action Script nicht, aber sie sehen nicht erforderlich aus
Cruncher
@Cruncher ja sorry, eine meiner ersten Antworten hier.
Ilya Gazman
2
Töte das Semikolon am Ende, um ein
Zeichen
3

Perl 24 Zeichen

perl -ne 'printf"#"."%02x"x3,split'
13 31 133
#0d1f85

Sorry, es ist nicht so sexy wie mit unpack, aber kürzer!

Obskurere Version:

Aber wenn Sie es wirklich vorziehen unpack, können Sie:

$==24;s/\d+[\n ]*/{$=-=8;($&<<$=).do{rand>.5?qw<+>[0]:"|"}}/eg;$_=
pack("N",eval($_.587.202.560));say$1,unpack("H6",$2)if/^(.)(.*)$/s

Zum Beispiel ist es nicht die kürzere Version, aber ich mag es! (Beachten Sie die Verwendung von randzum Wandern :-)

perl -nE '
    $==24;s/\d+[\n ]*/{$=-=8;($&<<$=).
    do{rand>.5?qw<+>:"|"}}/eg;$_=pack(
    "N",eval($_.587.202.560) );say $1,
    unpack("H"."6",$2) if /^(.)(.*)$/s
  ' <<< $'72 61 139\n75 0 130\n0 255 127'
#483d8b
#4b0082
#00ff7f
F. Hauri
quelle
3

> <> 103 60

"#"or>1[:82*%:}-82*,86*+:"9"v
    ;^?l ]o+*7)"9":+*68o+*7)<

Nutzte den verschwendeten Leerraum und verschob Code hinein

Mit Kommandozeilen-Eingaben ausführen:

python fish.py generateHex.fish -v 255 36 72

Ausgabe: "# FF2448"

Cruncher
quelle
Erklärungen erhalten Sie auf Anfrage. Wenn Sie es herausfinden können, würde ich mich lieber nicht darum
kümmern
2

Viertens 62 Zeichen

: D 0 <<# # # #> TYPE #>> ; 35 EMIT HEX SWAP ROT D D D DECIMAL
Darren Stone
quelle
funktioniert nicht für 1 1 1, was # 010101 ausgeben sollte
Ratschenfreak
Hi @ratchetfreak. Für mich geht das. Gerade mit gforth getestet. Es 1 1 1gibt Ausgänge #010101. Alle anderen Werte von 0 bis 255 funktionieren ebenfalls. In welcher Umgebung oder in welcher Umgebung arbeiten Sie?
Darren Stone
2

C (67 Zeichen ohne Hauptkessel)

int r,g,b;
scanf("%d %d %d",&r,&b,&g);
printf("#%06x",r<<16|g<<8|b);

die moor standard printf & bit twiddler nutzung

Ratschenfreak
quelle
Warten Sie readf? Sollte das nicht sein scanf?
Brotkasten
@breadbox ah yeah Ich habe zu viel Zeit in D verbracht; Auf jeden Fall kein Unterschied in der Char Count
Ratschenfreak
2

DC: 35 32 Zeichen

[#]n16o?ShShSh[Lhd16/n16%n]ddxxx

Probelauf:

bash-4.1$ dc -e '[#]n16o?ShShSh[Lhd16/n16%n]ddxxx' <<< '72 61 139'
#483D8B

bash-4.1$ dc -e '[#]n16o?ShShSh[Lhd16/n16%n]ddxxx' <<< '75 0 130'
#4B0082

bash-4.1$ dc -e '[#]n16o?ShShSh[Lhd16/n16%n]ddxxx' <<< '0 255 127'
#00FF7F

DC: 27 24 Zeichen

(Benötigt aber die Eingabenummern in getrennten Zeilen.)

[#]n16o[?d16/n16%n]ddxxx

Probelauf:

bash-4.1$ dc -e '[#]n16o[?d16/n16%n]ddxxx' <<< $'72\n61\n139'
#483D8B

bash-4.1$ dc -e '[#]n16o[?d16/n16%n]ddxxx' <<< $'75\n0\n130'
#4B0082

bash-4.1$ dc -e '[#]n16o[?d16/n16%n]ddxxx' <<< $'0\n255\n127'
#00FF7F
Mann bei der Arbeit
quelle
2
Es gibt nicht genügend dcAntworten auf dieser Website.
Brotkasten
2

JavaScript, 89 Zeichen

console.log('#' + ('00000' + eval('256*(256*(' + DEC.replace(/ /g, ')+')).toString(16)).slice(-6))

Konvertiert 72 61 139zu 256*(256*(72)+61)+139und wertet es aus.

Casey Chu
quelle
Nizza, aber scheitert an der 3. Probe in der Frage.
manatwork
Ah, guter Anruf. Fest.
Casey Chu
2
Mit sparen Sie eval('(('+DEC.replace(/ /g,'<<8)+'))stattdessen eval('256*(256*('+DEC.replace(/ /g,')+'))5 Zeichen!
F. Hauri
2

PowerShell, 45

'#'+-join(-split(read-host)|%{'{0:X2}'-f+$_})

Oder, wenn es durch Piping in den Daten verwendet werden kann, können Sie nur verwenden

'#'+-join(-split"$input"|%{'{0:X2}'-f+$_})

was es auf 42 bringt .

Joey
quelle
Gute Arbeit! Shows Ich muss noch viel über Golf lernen!
Iszi
Oh, deine Idee mit den Variablen war auch klug; wäre mir nie in den Sinn gekommen. Es ist einfach so, dass es länger ist als mein üblicher Favorit: -splitund -join.
Joey
2

Powershell 37

Dank TimmyD ein Byte gespart

cat rgb2hex.ps1
$args|%{$o+="{0:X2}"-f[byte]$_};"#$o"
wc -c rgb2hex.ps1
38 rgb2hex.ps1
powershell -f .\rgb2hex.ps1 72 61 139
#483D8B
powershell -f .\rgb2hex.ps1 0 255 127
#00FF7F
blabb
quelle
Sie können ein paar Bytes sparen, indem Sie das entfernen, [byte]da wir die Eingabe als Ganzzahlen erhalten, und Ihre Ausgabe so bearbeiten, dass sie "#$o"- das sind 31 Bytes für$args|%{$o+="{0:X2}"-f$_};"#$o"
AdmBorkBork
@TimmyD weiß nicht, ob das Entfernen von [Byte] in allen Versionen in einer Version, in der ich getestet habe (iirc 2.0 in xp), ohne [Byte] korrekt funktioniert. Es wurde nicht als Hex verkettet, sondern als Ints. Dh 72 61 139 war # 7261139 nicht # 483d8b „# $ o“ in Anführungszeichen ist nicht ein Stringliteral aber ausgewertet String schön zu wissen , durch Kommentare über hex - Konvertierung versteht sich
blabb
Es ist anscheinend ein Unterschied zwischen PowerShell v2 und v3 - es muss daran liegen, wie die entsprechende .NET-Version die hexadezimale Konvertierung handhabt, aber ich kann keine Dokumentation dazu finden.
AdmBorkBork
2

R, 16 Bytes

Das ist es. Verwenden Sie die eingebaute.

rgb(r,g,b,m=255)
J.Doe
quelle
1

C, 67 73 Zeichen (65 Zeichen ohne Hauptbuchstaben)

main(){int a,b,c;scanf("%d%d%d",&a,&b,&c);printf("#%02X%02X%02X",a,b,c);}

Langweiliges C-Programm - sehr orthodox.

Ian James
quelle
funktioniert nicht mit ab oder c kleiner als 16
ratschenfreak
% X wurde in% 02X geändert.
Ian James
1

Python 2.7 (80 Zeichen)

x=lambda y: ("0"+hex(int(y))[2:])[-2:]
print "#"+''.join(map(x,input().split()))

Ich suche nach einem besseren Weg, um mit den einstelligen Hex-Werten umzugehen. Irgendwelche Ideen?

Will Coggins
quelle
Vielleicht Formatstrings verwenden? '% 02x' scheint das zu sein, was alle anderen getan haben.
JQBLZ
1

Befunge-98, 45 Zeichen

Bleh, doppelter Code. Naja. Nur eine einfache Implementierung der Radix-Konvertierung.

"#",v
7*+,>#@&:97+/"0"+:"9"`7*+,97+%"0"+:"9"`

Probelauf

% cfunge tohex.98 <<<'72 61 139'
#483D8B
% cfunge tohex.98
#75 0 130
4800820 255 127
00FF7F

(Hinweis: druckt '#' vor dem Lesen der Eingabe - die Aufgabe verbietet dies nicht; bei drei Zahlen auf stdin erzeugt sie die richtige Ausgabe auf stdout. Sie kümmert sich auch nicht um Zeilenumbrüche, und wie Sie sehen, nicht darum '#' nicht richtig hinzufügen, wenn "interaktiv" ausgeführt wird.)

FireFly
quelle
1

Game Maker Language, 175 (Fehler bei Position 81)

Fordert zur Eingabe von 3- bis 9-stelligem RGB auf. Gibt hexadezimal mit GML-Hexadezimalzeichen zurück.$

d=get_string('','')if(d=='')e=""else e="00"h="0123456789ABCDEF"while(d!=''){b=d&255i=string_char_at(h,byte div 16+1)l=string_char_at(h,byte mod 16+1)e+=i+l;d=d>>8}return '$'+e

Machen Sie dies zu einem Skript. Kompilieren Sie auch mit nicht initialisierten Variablen, die als 0 behandelt werden.

Quelle

Timtech
quelle
1

Gema, 93 Zeichen

\B=@set{x;0123456789abcdef}\#
<D>=@substring{@div{$1;16};1;$x}@substring{@mod{$1;16};1;$x}
?=

Probelauf:

bash-4.3$ gema '\B=@set{x;0123456789abcdef}\#;<D>=@substring{@div{$1;16};1;$x}@substring{@mod{$1;16};1;$x};?=' <<< '0 255 127'
#00ff7f
Mann bei der Arbeit
quelle
1

Burlsque, 12 Bytes (10 Bytes für Kleinbuchstaben)

Wenn auch Kleinbuchstaben erlaubt sind, dann 10 Bytes:

psb6\['#+]

Verwendung:

blsq ) "72 61 139"psb6\['#+]
"#483d8b"

Wenn Sie dringend Großbuchstaben benötigen, fügen Sie Folgendes hinzu ZZ:

blsq ) "72 61 139"psb6\['#+]ZZ
"#483D8B"

Wenn Sie die ganzen Zahlen nicht wie in einer Zeichenfolge erhalten, gehen Sie mit:

blsq ) {72 61 139}b6\['#+]
"#483d8b"

Erläuterung:

ps -- parse string
b6 -- to hex
\[ -- concat
'#+] -- prepend #

Versuchen Sie es hier online .

Bonus:

Um es zurück zu konvertieren, benutze dies:

blsq ) "#483d8b"[-2cob6
{72 61 139}
mroman
quelle
1

Powershell, 28 Bytes

'#{0:X2}{1:X2}{2:X2}'-f$args

Testskript:

$f = {

"#{0:X2}{1:X2}{2:X2}"-f$args
}

@(
    ,('#483D8B',72, 61, 139)
    ,('#4B0082',75,  0, 130)
    ,('#00FF7F',0 ,255, 127)
) | % {
    $e,$a = $_
    $r = &$f @a
    "$($r-eq$e): $r"
}

Ausgabe:

True: #483D8B
True: #4B0082
True: #00FF7F
mazzy
quelle
0

Python3.3 @ 60 Zeichen

print("#"+3*"%.2X"%tuple(int(n) for n in input().split())) 

Konnte nicht widerstehen:

[dan@danbook:code_golf/int_to_hex]$ python3.3 int_to_hex.py
176 11 30
#B00B1E
danmcardle
quelle
0

Clojure 76 Zeichen

Dies könnte der Vollständigkeit halber zu spät sein:

(defn hexy [r g b] (reduce str (cons "#" (map #(format "%02X" %) [r g b]))))

Beispielanrufe:

(hexy 0 255 127)
"#00FF7F"
Luchs Luna
quelle
0

Mathematica, 40 Zeichen

f = StringJoin["#", IntegerString[#, 16, 2]] &

rgbs = {{72, 61, 139}, {75, 0, 130}, {0, 255, 127}}

f /@ rgbs // Column

# 483d8b

# 4b0082

# 00ff7f

Chris Degnen
quelle
0

Common Lisp, 39 Zeichen

(format()"#~@{~2,'0x~}"#1=(read)#1##1#)

Lesen Sie drei Ganzzahlen und geben Sie eine Zeichenfolge zurück.

Core-Dump
quelle
0

Javascript ES6, 63 Bytes

h=>'#'+h.split` `.map(x=>(x<16?0:'')+(x*1).toString(16)).join``
Mama Fun Roll
quelle
Zufälligerweise habe ich fast genau dasselbe geschrieben wie du, bevor ich deins gesehen habe. Sehr nett =) Sie sind nah genug, dass ich meine nicht posten werde, aber Sie können ein paar Bytes auf Ihrem Mapping mit diesem x=>(x<16?0:'')+x.toString(16)
speichern
1
Auch muss das nicht r=am Anfang stehen. Es gilt auch als anonyme Funktion, da Sie sie aufrufen können, ohne etwas zuweisen zu müssen.
Mwr247
Hoppla. Bedeutete die Map: x=>(x<16?0:'')+(x*1).toString(16)Deine und meine erste dort geben aktuell falsche Werte für an x>9.
Mwr247
Dies wird derzeit #7261139anstelle des #483D8Bersten Testfalls zurückgegeben.
Dennis
0

Python 2, 40 Bytes

s='#';exec's+="%02X"%input();'*3;print s

Liest die Eingabe aus drei separaten Zeilen. Missbrauch execund String-Multiplikation.

Beispielverwendung:

$ python2 rgbint.py
72
61
139
#483D8B

$ python2 rgbint.py
75
0
130
#4B0082

$ python2 rgbint.py
0
255
127
#00FF7F
jqblz
quelle
0

Python (55 Zeichen)

'#'+''.join([hex(int(i))[2:].upper() for i in input()])
Dhruv Ramani
quelle