Sebagai penggemar berat serial TV Hilang , saya selalu tertarik dengan urutan angka yang berulang kali muncul di episode. Angka-angka ini adalah:
(A104101)
Menggunakan bahasa pemrograman apa pun, tulis kode yang menampilkan angka-angka ini.
Mencetak:
Jawaban terpendek menang
Output tidak boleh mengandung angka atau huruf lain. Anda dapat menggunakan karakter lain sebagai pemisah, atau bahkan tanpa pemisah sama sekali.
Anda tidak dapat memisahkan digit dari nomor yang sama. adalah jawaban yang valid, tetapi tidak.
Anda harus menghormati pesanan.
Jika kode Anda tidak mengandung angka apa pun dari urutan, kurangi skor Anda hingga 30%. Aturan ini memungkinkan Anda untuk memasukkan angka secara terpisah. Misalnya:
abcde1fg5h
Merupakan kandidat yang valid karena jawabannya tidak mengandung angka , hanya digitnya. Namun, setiap atau akan membatalkan bonus.
Jika kode tidak mengandung angka sama sekali, kurangi skor Anda hingga 50%. Karakter lain seperti , atau masih berlaku untuk bonus ini.
sumber
restricted-source
tag yang dapat digunakan di sini: meskipun sebagian besar jawaban menghindari solusi yang jelas, saya pikir tantangannya akan sedikit lebih menarik jika menggunakan angka dilarang sama sekali.Jawaban:
Hilang ,
2927/2 = 13,5 byteCobalah online! atau memverifikasi bahwa itu deterministik
Sepertinya bahasa yang tepat untuk digunakan.
Penjelasan:
Lost adalah bahasa 2D di mana penunjuk dimulai di mana saja , menuju ke arah mana pun . Ini umumnya mengarah ke banyak pemeriksaan ganda bahwa pointer belum masuk ke bagian awal.
sumber
Jelly , 7/2 = 3,5 byte
Mencetak angka-angka tanpa pemisah, yaitu integer4815162342 .
Cobalah online!
Bagaimana itu bekerja
“ƲÞIȥ’
adalah bijective base-250 integer literal.Ʋ
,Þ
,I
, Danȥ
memiliki (1-based) indeksAkhirnya,2⋅2407581171=4815162342 .
Ḥ
(unhalve) menggandakan integer, menghasilkanPenggandaan diperlukan, karena pengodean output langsung mengarah ke
“¡9)Ƙ[’
, yang berisi angka.sumber
Neim ,
65 byte,32,5 poinPenjelasan:
Cobalah online!
sumber
05AB1E , skor:
1097 byte / 2 = 3,5Cobalah online.
Atau 7 byte alternatif :
Cobalah online.
Keduanya menghasilkan bilangan bulat
4815162342
.Penjelasan:
Lihat tip tambang 05AB1E ini (bagian Bagaimana cara mengompres bilangan bulat besar? ) Untuk memahami mengapa
•‘o]Ê•
ini2407581171
dan•’µ[%•
itu2432615184
.Old 9 byte jawab yang keluaran daftar
[4,8,15,16,23,42]
:-1 byte (dan karenanya skor -0,5) berkat @Emigna .
Lebih panjang dari jawaban 05AB1E lainnya , tetapi ini menampilkan daftar
[4,8,15,16,23,42]
bukan bilangan bulat4815162342
.Cobalah online.
Penjelasan:
Lihat tip tambang 05AB1E ini (bagian Bagaimana cara mengompresi bilangan bulat besar? Dan Bagaimana mengompresi daftar bilangan bulat? ) Untuk memahami mengapa
•ΓƒÇ²•
ada1301916192
, dan•ΓƒÇ²•50в
sekarang[4,8,15,16,23,42]
.sumber
•ΓƒÇ²•т;в
untuk 4,5 nomor pasca-script-baik saja untuk bonus.JavaScript (ES7), 34/2 = 17 byte
Cobalah online!
Ini menerjemahkan dan mengevaluasi ekspresi
"65058101+41**6"
, yang tidak mengandung digit apa pun setelah dikodekan dalam basis-64.JavaScript (ES6), 13 byte
Solusi jelas yang membosankan.
Cobalah online!
sumber
Python 3 , 25 byte, 12,5 poin
Cobalah online!
𩦦 (髒, ⿰ 馬 葬), 𧨦 (謚, ⿰ 言 ⿱⿵ 八一 皿) harganya 4 byte, tetapi U + 0657 hanya berharga 2 byte ...
Python 3 , 29 byte, 14,5 poin
Cobalah online!
𩦦 (⿰ 馬 葬) adalah karakter varian 髒 yang berarti "kotor". 湡 adalah nama sungai. Dan mereka tidak ada hubungannya dengan pertanyaan ini seperti yang saya tahu.
sumber
4815 162342
valid. Dengan demikianprint(*map(ord,'ዏ𧨦'))
menghemat 1,5 poin :) (print(*map(ord,'밗'))
akan menghemat 2 poin tetapi telah ditetapkan sebagai tidak valid).Brain-Flak , 52/2 == 26 byte
Cobalah online!
sumber
Java 8, skor:
1211,9 (70% dari 17 byte)Skor -0.1 berkat @RickHitchcock .
Cobalah online.
Penjelasan:
Jawaban lama dengan skor: 12 (50% dari 24 byte):
Berisi karakter yang tidak patut dicetak
0x1B
.Cobalah online.
Penjelasan:
Di Jawa, karakter dapat diautobox ke integer yang memegang nilai unicode mereka. Sayangnya, unicode maksimum yang didukung untuk karakter adalah
65,535
, jadi saya tidak bisa menggunakan hanya dua karakter untuk mengalikan (karena dua angka terbesar yang membagi yang diharapkan4,815,162,342
adalah56,802
dan84,771
, di mana84,771
sayangnya melebihi maksimum65,535
.Selain itu, karena ukuran maksimum suatu
int
adalah 32 2 -1 (2,147,483,647
) dan hasilnya4,815,162,342
lebih besar dari itu, sebuah pemeran eksplisit untuklong
, yang dapat menampung hingga 64 2 -1 (9,223,372,036,854,775,807
), diperlukan.Jawaban yang membosankan akan menjadi 14 byte tanpa bonus:
Cobalah online.
sumber
long
dan tidak mendukung karakter unicode yang sangat besar. Jika bukan karena dua pembatasan yang disebutkan, hanyav->'𩦦'*'湡'
(15 byte, skor 7,5) sudah cukup. Tapi itu masih sangat singkat. :) Meskipun sebagian besar Java memiliki banyak, banyak kelemahan dalam hal codegolfing (duhh ..), menghitung dengan karakter karena kita tidak diperbolehkan menggunakan digit adalah salah satu dari sedikit kelebihannya. Juga cukup berguna dalam jawaban saya yang agak mirip ini .v->767*6277917L+3
R, 18x0,7 = 12,6 skor
Cukup jelas sendiri, hanya beberapa aritmatika menghindari angka yang dimaksud.
sumber
7 , 10 byte, 27 karakter
Cobalah online!
Representasi paket program ini pada disk adalah (
xxd
format):Penjelasan
Kami telah melihat urutan angka-angka ini sebelumnya, di Automate Saving the World , yang tentang mencetak angka secara berkala, membuatnya menarik dengan mengharuskan penggunaan bahasa yang sangat lama. Banyak bahasa yang lebih baru dapat memiliki tikungannya sendiri yang membuat tantangan ini menarik.(Ya, paragraf ini, dan sebenarnya alasan saya mulai menulis jawaban ini, secara efektif hanyalah cara untuk mendapatkan semua tantangan terkait untuk muncul bersama di sidebar; biasanya orang melakukan itu menggunakan komentar tetapi saya tidak memiliki cukup perwakilan .)
Hal pertama yang perlu diperhatikan adalah bahwa 7 seluruhnya terbuat dari digit, jadi pergi untuk bonus di sini tidak akan berhasil (walaupun jika Anda melihat program sebagai urutan oktet, tidak ada yang sesuai dengan representasi ASCII dari salah satu angka asli , jadi Anda bisa mengklaim bonus dalam arti itu). Hal berikutnya yang perlu diperhatikan adalah bahwa 7 memiliki perintah untuk membuat ulang urutan perintah yang kemungkinan telah menghasilkan data tertentu; jadi mungkin kita bisa menafsirkan angka yang Hilang
4815162342
sebagai bagian dari program 7 itu sendiri?Jawabannya adalah "tidak cukup". Bagian yang paling bermasalah adalah nomor kedua itu,
8
,. 7 program ditulis dalam oktal; tidak ada angka 8. Jadi, awal string harus dicetak secara berbeda.Dasar dari program ini berdasarkan pada program 7 "Hello world":
dengan literal yang lolos dalam bahasa khusus domain yang ditafsirkan sebagai berikut:
Setelah ini muncul tambahan
3
, yang menampilkan elemen tumpukan yang tersisa (dan keluar karena tumpukan yang tersisa tidak cukup). Elemen itu ditentukan pada awal program, dan untuk menghindari yang tak tertandingi6
(yang bekerja sedikit seperti braket penutup), kami membuatnya menggunakan kode, daripada menuliskannya langsung sebagai data. (Perhatikan bahwa ada dua7
karakter tersirat pada awal program, yang relevan di sini):Itu menghasilkan literal berikut:
yang akan dicetak.
sumber
:(
05AB1E , 6 * 0,7 = 4,2 byte
Cobalah online!
Mencetak nomor yang tidak terkompresi dari base-255
sumber
MASM 8088 Sumber perakitan, (93 byte - 50%) = 46,5 byte
Tidak menggunakan angka atau urutan dalam sumber:
Keluaran:
sumber
Arang , 13 byte / 2 = 6,5
Cobalah online! Tautan adalah untuk mengucapkan versi kode. Bekerja dengan mengurangi kode ASCII dari string
TPIHA.
dari 88 dan casting ke string.sumber
Aheui (esotope) , 45 byte (15 karakter) * 0,5 = 22,5 poin
Cobalah online!
Penjelasan:
Lihat ini juga; Referensi Aheui ( Bahasa Inggris )
Perhatikan bahwa ㅁ (instruksi cetak) menggerakkan kursor dengan arah terbalik jika tumpukan (atau antrian) kosong.
sumber
Perl 5 , 16 byte - 30% = 11.2
Cobalah online!
sumber
PowerShell , 12 byte * 0,7 = 8,4
Cobalah online!
"Port" dari jawaban Xcali untuk mendapatkan jawaban Powershell yang lebih baik.
sumber
JavaScript, 143 byte (tidak yakin bagaimana cara mencetak gol)
Cobalah online!
Mulailah dengan enam
4
, gandakan, tambah, kurangi dengan, ke, dari4
untuk mendapatkan output.sumber
4
, dengan penambahan, pengurangan, perkalian dan indeks angka4
dalam string (atau array) dapat digunakan untuk menurunkan angka yang diperlukan.143*0.7=100.1
PHP, 35/2 = 17.5
pendekatan digital: 40 * .7 = 28
tanpa digit, tanpa string: 68/2 = 34
Cobalah secara online .
sumber
<?=4815162342;
4815162342
. Atau<?=~
+ 10 unsintables -> 15/2 = 7,5JavaScript (SpiderMonkey),
67 byte / 2 = 33,560 byte / 2 = 3058 byte / 2 = 2948 byte / 2 = 24-7 byte / 3,5 , -2 byte / 1 milik @ JoKing, -10 byte / 5 milik @tsh
Cobalah online!
sumber
print(a=-~-~-~-~[],a+=a,b=a+~-a,a+a,a+b,--b+b+b)
print(4815162342)
untuk 17 byteAPL (Dyalog Unicode), 18/2 = 9 byte
Penggandaan karakter lama yang membosankan.
Cobalah online!
sumber
JavaScript (ES6), 16 * 0,7 = 11,2 byte
Menghasilkan digit tanpa pembatas.
Cobalah secara Online!
sumber
Spasi , skor:
4941 byte / 2 = 20,5Huruf
S
(spasi),T
(tab), danN
(baris baru) ditambahkan hanya sebagai penyorotan.[..._some_action]
ditambahkan sebagai penjelasan saja.Cobalah online (dengan spasi, tab, dan baris baru saja).
Kode semu:
Penjelasan:
Di ruang putih, angka didorong sebagai berikut:
S
: Aktifkan Manipulasi StackS
: Nomor pushS
/T
: Positif / negatif masing-masingT
/S
diikuti oleh satuN
: Desimal sebagai biner, di manaT
1 danS
0Setelah itu dicetak dengan
TNST
:TN
: Aktifkan I / OS
: Keluarkan bagian atas tumpukanT
: Sebagai angkasumber
F #, 45 byte = 22,5 poin
Hanya
for
loop run-of-the-mill yang mencetak angka:Di atas adalah program lengkap yang dapat dikompilasi menjadi sebuah executable.
Dalam REPL (read-eval-print loop), misalnya FSI (F # Interactive), versi yang lebih pendek berikut ini akan berfungsi, karena REPL akan menampilkan representasi ekspresi yang dievaluasi; ini memiliki 35 byte = 17,5 poin:
sumber
Pyke , 3 poin
Coba di sini!
Sinyal byte pertama untuk dibaca dalam basis 128 sampai satu byte tanpa bit tinggi diatur.
Akhirnya, 32 dikurangkan dari hasilnya (karena alasan historis).
Hal ini memungkinkan untuk menghasilkan jumlah besar dalam jumlah ruang yang sangat kecil
sumber
MathGolf , 7 byte * 0,5 = 3,5
Cobalah online!
Penjelasan
Perhatikan bahwa kode ini belum berfungsi di TIO. Saya telah membuat beberapa perubahan pada MathGolf baru-baru ini, termasuk menambahkan
$
operator. Setelah ditarik ke TIO, Anda dapat menjalankannya di sana, kemudian saya akan memperbarui jawaban ini. Ini berjalan dengan sempurna di terminalSaya memanfaatkan fakta bahwa MathGolf memiliki liter 1-byte untuk membuat string hingga panjang 4. Jika saya ingin mengonversi seluruh angka dari string 256-base, saya perlu menggunakan dua
"
, dan string tersebut seharusnya 5 karakter. Dengan cara ini, saya menghemat 2 byte, tetapi saya kehilangan satu byte dengan memiliki operator pengganda pada akhirnya.sumber
Python 3 34 Poin
sumber
Python 3 ,
44381918,5 byte-6 byte terima kasih kepada @Jo King
-50% terima kasih kepada @ouflak karena menunjukkan bonus 50%
-1 byte terima kasih kepada @Dennis
Cobalah online!
sumber
Japt,
109 byte / 2 = 4,5Menguji
sumber
Befunge-98 (FBBI) , 15 byte / 2 = 7,5 poin
Cobalah online!
Penjelasan:
Pertama-tama dorong nilai ASCII dari karakter '* + H /! K- (42, 72, 47, 33, 107, 45) dalam urutan ini ke tumpukan. Kemudian hitung4815 = 45 ⋅ 107 dan 1623 = 33 ⋅ 47 + 72 , dan output.
sumber
Pesona Rise, 15/2 = 7,5
Cobalah online!
Cukup mengkodekan nilai dalam byte sesedikit mungkin.
42
,16
,15
,8
, Dan4
, memaksa mereka untuk nilai-nilai numerik, dan cetakan mereka dalam urutan terbalik.4 8 15 16 42
tanpa spasi, seperti48151642
format output yang dapat diterima.4
dan8
tidak dapat digabungkan (48
) karena merupakan angka0
dan tidak diizinkan untuk digunakan. Dimungkinkan untuk menggabungkan 15, 16, dan 42 menjadi 2 karakter (bukan 3)ʂ
dengan mengorbankan +1 byte, yang tidak sepadan.sumber