Tantangan ini adalah menampilkan ke terminal Anda, jendela, kanvas atau menyaring angka-angka nol hingga 10 inklusif. Setiap angka yang dikeluarkan harus ditampilkan sebagai 4-bit lebar, jadi nol harus ditampilkan seperti 0000
dan seterusnya.
Anda dapat memisahkan setiap angka yang dihasilkan dengan spasi, koma, atau carriage return. Solusi terkecil menang tetapi angka dapat ditampilkan dalam urutan yang Anda suka selama tidak ada angka berulang dalam urutan Anda.
Entri dalam bahasa biner tingkat rendah tidak perlu khawatir tentang koma atau pemisah ruang putih jika tidak mungkin untuk menghasilkan dengan koma atau spasi putih (yaitu, output standar terbatas hanya untuk biner, atau solusi Anda adalah untuk kit komputer awal seperti KIM-1 yang memiliki tampilan digital terbatas).
sumber
Jawaban:
SmileBASIC, 26 byte
sumber
MATL , 6 byte
Cobalah di MATL Online
Penjelasan
sumber
05AB1E ,
98 byteCobalah online!
sumber
JavaScript, 46 byte
Mengapa menggunakan fungsi padding ketika Anda bisa menambahkan 16 ke setiap nomor dan memotong digit biner pertama?
sumber
Japt , 7 byte
Dan di sini saya berpikir Japt ditakdirkan lebih lama dari setiap bahasa golf lainnya ...
Uji secara online!
Penjelasan
Biasanya koma dapat dihapus di Japt, tetapi yang ini ada karena bug:
_
biasanya berartifunction(Z){Z
, tetapi karena alasan tertentu kompiler berpikirA_
berartifunction(A,Z){Z
.sumber
Aô_¤
Utilitas Bash + GNU, 26
Cobalah online .
sumber
seq -w 0 1010
harus bekerja.-w
opsiseq
sebelumnya.Utilitas Bash + Unix,
2926 byteCobalah online!
Panjangnya sama dengan solusi @ DigitalTrauma / @ Dennis, tetapi menggunakan metode yang sama sekali berbeda.
Output adalah:
(Pesanan apa pun diizinkan.)
Bash Murni , 34 byte
Coba versi Bash murni secara online!
Output adalah:
sumber
J, 6 byte
Terima kasih banyak untuk memotongnya menjadi 6 byte!
sumber
#:i.11
harus bekerja dengan baikJelly , 7 byte
Cobalah online!
(5 byte jika mengikuti garis-garis dari nybbles diperbolehkan,
2Bṗ4Y
)Bagaimana?
Mencetak dalam urutan menurun.
Alternatif 7-byter adalah
2ṗ4Ịṫ6Y
,[1,0]
diganti dengan[1,2]
danỊ
adalah "tidak signifikan" monad (abs(z)<=1
), mengubah2
s ke0
s.sumber
Python 3.6,
3635 byte-1 byte terima kasih kepada @JonathanAllan
Python 3.5 dan sebelumnya:
Cobalah online!
sumber
i=11
(baris baru)while i:i-=1;print(f"{i:04b}")
, untuk 35.PHP, 33 byte
sumber
CJam , 12 byte
Cobalah online!
Penjelasan
Pendekatan kekuatan Cartesian akan menjadi pilihan saya, tetapi sudah diambil.
Jadi ini menghasilkan angka dari 0 hingga 10, dan untuk masing-masing itu menambah 16 dan mengubahnya menjadi biner. Menambahkan 16 memastikan bahwa nol terkemuka yang diperlukan diproduksi, bersama dengan yang memimpin tambahan yang dihapus.
sumber
MATLAB / Oktaf, 13 byte
Demo online
sumber
Jelly ,
10, 9, 8 byteCobalah online!
Aku tidak terlalu jeli, jadi aku akan terbuka untuk tips apa pun!
Ini menggunakan algoritma pertama Emigna
Terima kasih kepada Dennis karena telah
memotong dua bytemembuat saya mengikat jawabannya sendiri. : PPenjelasan:
sumber
Ḋ€
menghemat satu byte.⁴r27
menyimpan satu lagi.Python 2 ,
3836 byteTerima kasih kepada @DJMcMayhem untuk bermain golf 2 byte!
Cobalah online!
sumber
for n in range(11):print bin(n+16)[3:]
juga pada 38 byte.n=16;exec"print bin(n)[3:];n+=1;"*11
lebih pendekJelly , 8 byte
Cobalah online!
Bagaimana itu bekerja
sumber
RProgN, 15 Bytes
Ini sudah sangat modifikasi yang baik untuk menambahkanpad
fungsi. Keseluruhan dari]L4\-'0'\m\.
, lebih dari setengah kode, adalah untuk pad._Simpan 6 byte, terima kasih @ETHProductions , itulah fungsi pad yang terpotong dua.
Dijelaskan
Cobalah online!
sumber
length of the Alphabet
Cara yang bagus untuk menyimpan byte ;-)Retina ,
3633 byteCobalah online!
Penjelasan
Ganti input kosong (tidak ada) dengan
%%%%
.Pada jalankan pertama tahap ini, itu akan cocok
^%
dan pada dasarnya mengganti teks%%%%
dengan dua baris0%%%
dan1%%%
. Tahap akan berulang sampai output berhenti berubah. Pada run kedua, itu akan cocok\b%
(karena digit dihitung sebagai karakter kata dan%
tidak), dan mengganti grup dengan menduplikasi mereka dan menambahkan0
ke satu salinan dan1
ke yang lain:0%%%
menjadi garis00%%
dan01%%
(dan hal yang sama untuk1%%%
). Melalui loop ini semua 16 bitstring akan diproduksi, dipisahkan oleh linefeed.11 pertandingan pertama dari
\d+
(jangka minimal 1 digit) diambil. Kecocokan adalah output dalam daftar yang dipisahkan dengan linefeed.sumber
0$%'¶$%
kerja baris 1` ini . Apa$%
,`1
,'¶
mewakili?$%`
mewakili segalanya sebelum pertandingan pada baris yang sama, dan$%'
semuanya adalah setelah pertandingan pada baris yang sama.¶
adalah linefeed literal. Jadi pada dasarnya pengganti cocok dengan yang pertama%
pada satu baris dan menggantinya dengan0
ditambah dengan sisa baris yang ada pada, baris baru, awal dari baris itu, dan a1
. Tentu saja, awal dan akhir dari garis itu tidak tersentuh oleh penggantian karena mereka bukan bagian dari pertandingan.G11`
sebagai baris terakhir dari regex sebagai gantinyaRuby, 25 byte
sumber
BF,
121101 byteMembutuhkan baris baru. Manfaatkan
!
simbol (jadi, centang kotak yang mengatakan!
) dengan juru bahasa ini (coba online!) .Berpotensi 51 byte jika setiap operator dianggap 4 bit
sumber
!
kotak centang yang diaktifkan.C #, 96 byte
Golf
Tidak disatukan
Kode lengkap
Rilis
96 bytes
- Solusi awal.sumber
C
170120 byteVersi tidak disatukan:
Pasti bisa dipersingkat !?
@Ahemone Ide luar biasa, Terima kasih!
Harus bekerja sekarang! Cobalah online!
sumber
for
loop pertama dalam versi golf Anda harus pergi ke 4 daripada 3, tapi itu tidak masalah karena loop dapat dihilangkan seluruhnya dan yang kedua untuk loop dapat mulai dari 0. Anda juga bisa hanya menggunakanwhile(n)
, tetapi memadatkanwhile
loop ke dalam satufor
loop menyimpan lebih banyak lagi.n/=2
juga akan menghemat satu byte selama shift. Anda juga kehilangan penghentian}
pada versi golf yang menyebabkan kesalahan pada kompilasi.}
dan meningkatkan kode, 50 byte lebih pendek berdasarkan ide Anda.R - 23
Kita dapat menggunakan
intToBin
fungsi dariR.utils
paket:sumber
C,
756869 bytePendekatan 1:
757374byteCobalah online!
Pendekatan 2:
6869 byteCobalah online!
sumber
m,n;f(o)
alih-alihm,n,o;f()
Python 2, 44 byte
Ini menggunakan
zfill
fungsi yang berfungsi sepertirjust
kecuali selalu padds0
sehingga Anda tidak membuang byte pada argumen.sumber
lambda k,l:' '*(len(k)-l)+k
) Wow ... +1 hanya karena ini: DPyke, 8 byte
Coba di sini!
Juga 8 byte:
Coba di sini!
sumber
Pyth -
87 byteCobalah online di sini .
sumber
ditumpuk , 30 byte
Cobalah online!
11:>
berkisar dari0
hingga10
. Sisanya agak jelas.Solusi lain yang saya temukan:
sumber
Ruby, 38 byte
sumber
11.times{|i|puts i.to_s(2).rjust 4,?0}
BF , 134 byte
Saya yakin ini bisa dipersingkat - ini cukup banyak golf BF pertama saya.
Cobalah online!Mengasumsikan rekaman tak terbatas di kedua arah, seperti juru bahasa yang digunakan TIO. Seorang juru bahasa di mana
<
di di ujung kiri pita adalah no-op akan menghemat tiga byte.Penjelasan
Lebih dari setengah kode (77 byte pertama, tepatnya) dihabiskan untuk menginisialisasi rekaman. Langkah-langkahnya seperti ini:
Sel yang diinisialisasi untuk
1
menyimpan bit nomor kita ditambah 1:1
mewakili bit nol dan2
mewakili bit satu.Fase inisialisasi berakhir dengan pointer pada
11
. Sekarang kita menggunakan sel ini untuk menjalankan 11 iterasi dari loop kita:sumber