Diberi kode warna dalam CMYK, konversikan ke nilai RGB.
Input:
string 4 integer (mulai dari 0-100) dipisahkan oleh spasi
86 86 0 43
28 14 0 6
0 41 73 4
Keluaran:
#141592
#ABCDEF
#F49043
Kode terpendek menang!
PETUNJUK: Untuk mengonversi CMYK ke RGB, Anda dapat menggunakan rumus seperti:
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)
dan gunakan ketiga variabel ini untuk mendapatkan nilai dalam
#RRGGBB
format
code-golf
conversion
color
Wasi
sumber
sumber
CMYK
nilai-nilai sebagai desimal dari0
ke1
atau itu diperlukan untuk melakukan0
ke100
?Jawaban:
PHP , 90 byte
Cobalah online!
sumber
Python 3 ,
10098 byte-2 byte terima kasih kepada Rod.
Cobalah online!
sumber
Jelly , 24 byte
Program lengkap yang mencetak hasilnya.
Cobalah online!
Catatan: pembulatan daripada lantai dapat digunakan dengan memasukkan dua byte kode
+.
antara255
danḞ
.Bagaimana?
sumber
_.Ċ
ganti+.Ḟ
... tapi yang terakhir mungkin lebih banyak digunakan.Retina , 103 byte
Cobalah online! Catatan: Kode ini sangat lambat, jadi tolong jangan palu server Dennis. Penjelasan:
Ubah setiap angka menjadi unary dan kurangi dari 100.
Lipat gandakan semua angka dengan angka terakhir, yang dihapus.
Kalikan dengan 51, sehingga setelah kita bagi 2000, kita mendapatkan
100 * 100 * 51 / 2000 = 255
seperti yang diinginkan.Membagi dengan 32000 dan membagi lantai sisanya pada tahun 2000, sehingga menghasilkan sepasang nilai basis 16, meskipun sayangnya diri mereka masih ditulis dalam basis 10.
Konversi dari basis 10 ke basis 16.
Masukkan yang memimpin
#
.sumber
Java 8, 166 byte
Cobalah online!
sumber
Javascript (ES6), 106 byte
sumber
C ++ (gcc) ,
169166 byteCobalah online!
Menggunakan rumus yang dioptimalkan.
Ditambahkanyang tidak perlu.+.5
untuk mengonversi CMYK =0 0 0 0
benar ke RGB =0xffffff
sumber
Python 3 ,
114 110 108 106104 byterange[3]
sebagai[0,1,2]
, tidak diinginkan[]
dihapusCobalah online!
sumber
Ruby , 92 +1 untuk -p flag = 93 bytes
Cobalah online!
sumber
Perl 5 ,
5852 + 1 (-a) =5953 byteCobalah online!
sumber
dc , 53 byte
Cobalah online!
sumber
Javascript, 104 byte
Cuplikan kode contoh:
sumber
q / kdb +, 55 byte
Larutan:
Contoh:
Penjelasan:
Cukup mudah, mencuri
0.0255
trik dari solusi lain (terima kasih!). Evaluasi dilakukan dari kanan ke kiri.Catatan:
Angka-angka putaran secara default, akan dikenakan biaya 3 byte
(_)
ke lantai sebagai gantinya sebelum casting menjadi pendek.sumber
05AB1E , 18 byte
Cobalah online!
-1 berkat kalsowerus .
Memiliki ketidaktepatan titik apung, sehingga hasilnya mungkin off-by-one, tetapi rumus dalam pertanyaan digunakan.
sumber
$
sama dengan1¹
input
mana yang akan adaHaskell, 165 byte
sumber
Fortran, 156 byte
sumber