Heksadesimal adalah sistem penghitungan basis 16 yang beralih dari 0
ke f
. Tugas Anda adalah membuat penghitung yang akan menampilkan angka-angka ini.
Contoh:
$ python counter.py
1 2 3 4 5 6 7 8 9 a b c d e f 10 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f 30
Aturan:
- Angka-angka dapat dipisahkan oleh spasi, tab, atau baris baru.
- Nomor minimum yang harus Anda tuju adalah
30
(48 dalam desimal).- Anda juga dapat membuat nomor cetak program selamanya sampai berhenti.
- Surat mungkin dalam huruf besar atau kecil (
A
ataua
). - Tidak ada fungsi bawaan yang diizinkan (yang secara langsung memengaruhi konversi / penghitungan heksadesimal).
- Angka nol diijinkan
- Mungkin mulai dari
1
atau0
- Kode terpendek menang!
code-golf
hexadecimal
tahap
sumber
sumber
Jawaban:
Pyth - 12 byte
Gunakan produk cartesian, dan urutkan pada akhirnya untuk mendapatkan urutan yang benar, kemudian bergabung dengan spasi. Cetakan
00-ff
inklusif.Cobalah online di sini .
sumber
Pure Bash , 26
Dihitung dari 0x0 hingga 0x3F:
Cobalah online!
sumber
CJam,
2114 byteMencetak angka 00 hingga 9F.
Cobalah online di penerjemah CJam .
Bagaimana itu bekerja
sumber
Python 2, 52
Mencetak
00
ke3F
. Mengambil keuntungan dari kenyataan bahwa digit pertamaa
selalu merupakan angka dalam kisaran ini. Loop melalui empat siklus digit keduab
, bertambaha
setiap kali digit keduaF
.Ini adalah satu karakter lebih pendek daripada yang lebih langsung
sumber
n ='0123'
harus menyimpan beberapa karakterthing in n + restofstring
n='0123' for a in n: for b in n+'456789ABCDEF':print a+b
0123
untuk sesuatu yang lain tidak cukup.JavaScript (ES6), 57 byte
Pendekatan yang sama seperti yang Python kurasa.
sumber
TI-Basic, 63 byte
Ini adalah 63 byte, menurut layar manajemen memori pada kalkulator saya, TI-84 +. Pastikan untuk memulai program dengan layar beranda yang terisi sebagian!
sumber
Befunge-93, 57 byte
Mencetak angka dari
00
hingga8F
. Jika Anda lebih suka program Anda berjalan selamanya, versi di bawah ini tidak berhenti dan akan terus menampilkan semua angka dari00
hinggaFF
.sumber
0123456789ABCDEF01g::88+/2-0g,88+%0g,9,1+01p
bef.c
) yang secara diam-diam mengabaikan perintah yang tidak diketahui (ABCDEF
).30
- yang satu ini perlahan-lahan akan meluap tumpukan, jadi saya kira ada beberapa titik penghentian. Juga, output dipisahkan oleh tab; OP mengatakan ini baik-baik saja. ) Oh, implementasi Befunge yang Anda gunakan juga harus menginisialisasi seluruh torus 80x25 dengan spasi (ASCII0x20
).C,
7875 byteKami mendefinisikan suatu fungsi
f()
untuk dipanggil tanpa argumen untuk pencetakan, dan fungsi pembantux(int)
. Ini rusak padaFF
.Hebatnya, ini satu byte lebih pendek dari yang lebih jelas:
Peringatan: tidak disarankan untuk menjalankan kode ini di luar lingkungan debug ...
Pengujian:
Keluaran:
Tentu saja, pendekatan yang lebih kuat (dan cheat-y) adalah fungsi 34 byte ini:
sumber
return y+
mungkin sajay+=
.Pyth, 17 byte
Coba di sini
Bagaimana itu bekerja:
sumber
jb^+jkUT<G6 2
menggunakan produk kartesius untuk melakukan hal yang sama, masih tampak golf ...Javascript ES6,
6762 bytesumber
J, 22 byte
Diperhitungkan
ff
. Mencetak baris baru ekstra antara setiap blok0x10
angka, seperti:sumber
Gondong - 65 byte
Tidak ... Mumps belum mati! :-)
sumber
CJam, 22 byte
Ini berjalan selamanya, dan dengan demikian mungkin merupakan salah satu saat yang jarang di mana itu adalah ide yang baik untuk tidak memasukkan permalink.
sumber
oNo
sama dengann
di TIO.TheC64Mini dan Commodore BASIC (C64 / 128, PET, VIC-20, C16 / + 4) - 164 BASIC dan Tokenized bytes digunakan
Mencetak spasi ganda setelah nomor heks untuk menyelaraskan pencetakan pada 40/80 kolom dan 22 kolom pada VIC-20.
sumber
brainfuck , 2902 byte
Mudah dikalahkan, tetapi patut dicoba
Cobalah online!
sumber
0-F
dan kemudian mencetak dengan hardcode. Bagaimana Anda bisa membuatnya begitu lama?Python 2,
6655 BytesIni seharusnya menjadi pendekatan yang paling jelas bagi saya ..
Lama (66 Bytes) : Secara teknis ini menyebabkan kesalahan setelah
FF
, tetapi tidak mencapai30
.Saya berasumsi pemformatan string tidak diizinkan karena saya cukup yakin itu akan melalui konversi basis, tetapi jika diizinkan, ini akan menjadi 29 byte:
sumber
Java, 104 byte
Jika
i<99
dihapus, masih mencapai 30, tetapi akhirnya macet. Saya tidak yakin apakah itu dapat diterima.sumber
J, 47 byte
mencetak 00 hingga dst
sumber
>{;~'0123456789abcdef'
JavaScript
74726560sumber
Perl 6 , 34 byte
Cara terpendek yang dapat saya lakukan yang tidak menggunakan konversi apa pun adalah:
cetakan
00
...FF
ruang dipisahkan secara berurutan.Jika Anda menginginkan lebih, Anda dapat menukar
2
dengan jumlah yang lebih besar.(jangan menggunakan angka yang lebih besar dari 4 karena menggabungkan nilai-nilai bersama sebelum mengeluarkan apa pun, sehingga akan menggunakan jumlah RAM yang signifikan)
Terpendek yang tidak akan pernah berhenti menulis nilai hex
Jika
printf
diizinkanJika fungsi konversi basis diizinkan
sumber
C ++ 14 - 135
sumber
'string' is not a member of 'std'
dengan milik saya.cout
juga. Saya kira Andaiostream
juga perlu . 2. Mencetak angka-angka tanpa pemisahan. Tantangannya membutuhkan spasi, tab, atau baris baru. 3. Anda harus menyebutkan versi C ++ yang diperlukan.jq 1,5:
6559 karakter(56 karakter kode + 3 opsi opsi baris perintah.)
Contoh dijalankan:
Tes online (Melewati
-r
URL tidak didukung - periksa sendiri Output Raw.)jq 1,5: 56 karakter
(53 karakter kode + 3 opsi opsi baris perintah.)
Ini menghasilkan output yang benar, namun bukan penghitung: tidak menghasilkan nilai-nilai secara berurutan, cukup mengurutkannya setelah itu.
Tes online (Melewati
-r
URL tidak didukung - periksa sendiri Output Raw.)sumber
Dyalog APL , 12 byte
sumber
Malbolge , 900 byte
Untuk ditingkatkan ...
Cobalah online!
sumber
Zsh,
4429 byte-15 , via GammaFunction, coba online!
Asli (44 byte):
g=0123456789abcdef;h=(${(s::)g});echo $^h$^h
sumber
h=({0..9} {a..f})
. 29 bytePowerShell 6, 40 byte
Cobalah online!
Mulai dari
00
dan terhitung hinggaFF
.sumber
8088 Assembly, IBM PC DOS, 34 byte
Bytes
xxd
:Belum dirakit:
Standalone PC DOS dapat dikonfigurasi, keluarannya adalah konsol dan akan terus ditampilkan hingga program dihentikan. Hanya program manipulasi awal ASCII di sini. Tidak ada built-in atau metode kenyamanan di x86 atau DOS / API API untuk mengkonversi nilai biner ke string untuk output.
Keluaran:
sumber
MUMPS , 57 byte
Keluaran
Penjelasan
sumber
Haskell, 52 byte
sumber
Python 2 - 57 byte
Ini menghasilkan 00 hingga FF, dengan spasi di antara.
sumber