var QUESTION_ID=141725,OVERRIDE_USER=61563;function answersUrl(e){return"https://api.stackexchange.com/2.2/questions/"+QUESTION_ID+"/answers?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+ANSWER_FILTER}function commentUrl(e,s){return"https://api.stackexchange.com/2.2/answers/"+s.join(";")+"/comments?page="+e+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+COMMENT_FILTER}function getAnswers(){jQuery.ajax({url:answersUrl(answer_page++),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){answers.push.apply(answers,e.items),answers_hash=[],answer_ids=[],e.items.forEach(function(e){e.comments=[];var s=+e.share_link.match(/\d+/);answer_ids.push(s),answers_hash[s]=e}),e.has_more||(more_answers=!1),comment_page=1,getComments()}})}function getComments(){jQuery.ajax({url:commentUrl(comment_page++,answer_ids),method:"get",dataType:"jsonp",crossDomain:!0,success:function(e){e.items.forEach(function(e){e.owner.user_id===OVERRIDE_USER&&answers_hash[e.post_id].comments.push(e)}),e.has_more?getComments():more_answers?getAnswers():process()}})}function getAuthorName(e){return e.owner.display_name}function process(){var e=[];answers.forEach(function(s){var r=s.body;s.comments.forEach(function(e){OVERRIDE_REG.test(e.body)&&(r="<h1>"+e.body.replace(OVERRIDE_REG,"")+"</h1>")});var a=r.match(SCORE_REG);a&&e.push({user:getAuthorName(s),size:+a[2],language:a[1],link:s.share_link})}),e.sort(function(e,s){var r=e.size,a=s.size;return r-a});var s={},r=1,a=null,n=1;e.forEach(function(e){e.size!=a&&(n=r),a=e.size,++r;var t=jQuery("#answer-template").html();t=t.replace("{{PLACE}}",n+".").replace("{{NAME}}",e.user).replace("{{LANGUAGE}}",e.language).replace("{{SIZE}}",e.size).replace("{{LINK}}",e.link),t=jQuery(t),jQuery("#answers").append(t);var o=e.language;/<a/.test(o)&&(o=jQuery(o).text()),s[o]=s[o]||{lang:e.language,user:e.user,size:e.size,link:e.link}});var t=[];for(var o in s)s.hasOwnProperty(o)&&t.push(s[o]);t.sort(function(e,s){return e.lang>s.lang?1:e.lang<s.lang?-1:0});for(var c=0;c<t.length;++c){var i=jQuery("#language-template").html(),o=t[c];i=i.replace("{{LANGUAGE}}",o.lang).replace("{{NAME}}",o.user).replace("{{SIZE}}",o.size).replace("{{LINK}}",o.link),i=jQuery(i),jQuery("#languages").append(i)}}var ANSWER_FILTER="!t)IWYnsLAZle2tQ3KqrVveCRJfxcRLe",COMMENT_FILTER="!)Q2B_A2kjfAiU78X(md6BoYk",answers=[],answers_hash,answer_ids,answer_page=1,more_answers=!0,comment_page;getAnswers();var SCORE_REG=/<h\d>\s*([^\n,]*[^\s,]),.*?(\d+)(?=[^\n\d<>]*(?:<(?:s>[^\n<>]*<\/s>|[^\n<>]+>)[^\n\d<>]*)*<\/h\d>)/,OVERRIDE_REG=/^Override\s*header:\s*/i;
body{text-align:left!important}#answer-list,#language-list{padding:10px;width:290px;float:left}table thead{font-weight:700}table td{padding:5px}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <link rel="stylesheet" type="text/css" href="//cdn.sstatic.net/codegolf/all.css?v=83c949450c8b"> <div id="answer-list"> <h2>Leaderboard</h2> <table class="answer-list"> <thead> <tr><td></td><td>Author</td><td>Language</td><td>Size</td></tr></thead> <tbody id="answers"> </tbody> </table> </div><div id="language-list"> <h2>Winners by Language</h2> <table class="language-list"> <thead> <tr><td>Language</td><td>User</td><td>Score</td></tr></thead> <tbody id="languages"> </tbody> </table> </div><table style="display: none"> <tbody id="answer-template"> <tr><td>{{PLACE}}</td><td>{{NAME}}</td><td>{{LANGUAGE}}</td><td>{{SIZE}}</td><td><a href="{{LINK}}">Link</a></td></tr></tbody> </table> <table style="display: none"> <tbody id="language-template"> <tr><td>{{LANGUAGE}}</td><td>{{NAME}}</td><td>{{SIZE}}</td><td><a href="{{LINK}}">Link</a></td></tr></tbody> </table>
Jawaban:
05AB1E , 7 byte
Kode:
Menggunakan penyandian 05AB1E . Cobalah online!
Penjelasan
sumber
žp
ada ketikaAu
emas? BADUM tissssR ,
6755 byteCobalah online!
sumber
sep
menjadis
. Fungsinya akan melengkapi argumen bernama jika tidak ada tabrakan...
argumen; argumen yang datang sebelum...
(biasanya) dicocokkan sebagian, dan yang sesudahnya tidak. Saya percaya ada beberapa pengecualian tetapicat
tidak salah satunya...
Python 2 , 57 byte
Cobalah online!
sumber
V ,
13, 11 byteCobalah online!
Hexdump:
Ditulis dari ponsel saya: P.
sumber
PowerShell , 42 byte
Cobalah online!
Penjelasan:
sumber
Bash + GNU sed, 60
Cobalah online .
sumber
:x
ke:
dantx
ket
./// ,
10597 byteCobalah online!
Penjelasan
/// hanya tahu satu perintah,
/<pattern>/<substitution>/<text>
menggantikan semua kejadian<pattern>
di<text>
dengan<substitution>
. Selain itu\
dapat digunakan untuk melarikan diri karakter.Kode singkat untuk kesederhanaan:
Perintah pertama
/:/\\\\*/
menggantikan:
dengan\\*
dalam kode selanjutnya. Ini memberi:Kemudian
/#/\\*E\\*D\\*C\\*B\\*A/
ganti#
dengan\*E\*D\*C\*B\*A
:Kemudian
/\\*/\/\/__\*E\*D\*C\*B\*A<newline>\/ /
ganti\*
dengan//__*E*D*C*B*A<newline>/
:Perhatikan: Saya harus menggunakan
\*
untuk penggantian. Karena*
juga merupakan bagian dari substitusi, itu akan menghasilkan loop tak terbatas jika saya hanya mengganti*
.Kemudian perintah
/_/ /
ganti_
dengan spasi, dan/*//
hapus semua*
:Perintah selanjutnya tidak
/#//
menggantikan#
apa pun. Karena tidak ada#
dalam kode, maka tidak melakukan apa-apa. Ini hanya di sini untuk menghapus dua lead//
dari awal kode. Ini pergiKemudian perintah tersebut
/ E//
dihapus<space>E
, jadi ini akan meninggalkan kode/ D//
Penghapusan serupa<space>D
:/ C//
:/ B//
:Dan perintah terakhir tidak lengkap, jadi tidak ada artinya:
sumber
Haskell,
5352 byteCobalah online!
Bagaimana itu bekerja
sumber
f['Z'..'A']
berhasil?[a..b]
dimulai dengana
dan mengumpulkan semua penerus (+1
untuk bilangan bulat, ascii-char berikutnya untuk karakter, dll.) Hinggab
. Jikaa > b
ini daftar kosong. Namun, Anda dapat menentukan juga nilai kedua (yang bisa lebih kecil) dari mana kenaikan / penurunan dihitung.[1,3..8]
->[1,3,5,7]
,[15,10..0]
->[15,10,5,0]
, atau['Z','Y'..'A']
yang merupakan alfabet huruf besar ke belakang.Python 2 ,
6664Cobalah online!
sumber
print
dan'
untuk 65 byte.JavaScript (ES6),
837776 bytesumber
Jelly , 12 byte
Cobalah online!
-3 byte berkat mil
sumber
brainfuck , 105 byte
Cobalah online!
Diminimalkan dan diformat:
Versi yang dapat dibaca:
sumber
Oktaf ,
53494645 byte1 byte dihapus berkat @Sanchises
Cobalah online!
sumber
Puitis , 601 byte
Puitis adalah esolang yang saya buat pada tahun 2018 untuk proyek kelas, dan merupakan turunan dari brainfuck di mana panjang kata-kata sesuai dengan perintah brainfuck (dan +, -,>, dan <perintah masing-masing memiliki argumen 1-digit).
Fakta bahwa hanya panjang kata yang menentukan perintah berarti secara teknis saya bisa membuat program yang seluruhnya terdiri dari non-kata (yaitu huruf X sebanyak yang diperlukan, dengan spasi di antara kata-kata), tetapi saya ingin membuat yang menarik puisi bebas-ayat dari itu tanpa menambahkan byte yang tidak perlu.
Jika Anda ingin mencobanya secara online (yang merupakan setengah dari proyek kelas di tempat pertama), periksa penerjemah online saya !
sumber
05AB1E , 10 byte
Cobalah online!
Penjelasan:
sumber
Perl 6 , 37 byte
Disimpan 9 byte berkat @Massa.
Cobalah online!
Penjelasan:
25...0
berkisar antara 25 hingga 0 (seperti yang diharapkan). Kami mengulangi rentang itu, mengatakan (= mencetak dengan baris baru) bahwa banyak spasi dan string karakter yang memiliki kode ASCII (chrs
) dari 65 + angka itu ($_+65...65
).sumber
25...0
adalah jalan yang lebih pendek :-)say " "x$_,chrs $_+65...65 for 25...0
:-)Arang ,
1911 byte-8 byte berkat ASCII saja.
Cobalah online! Tautan adalah untuk versi verbose.
sumber
CycleChop
... tetapi Anda lupaIncrement
(atau apa pun namanya)Perl 5 , 36 byte
35 byte kode +1 untuk
-p
.Catatan : TIO tidak mendukung input kosong , jadi disediakan baris baru, ini menghasilkan baris baru yang asing, tetapi ketika berjalan di baris perintah dengan input kosong, ini tidak ditampilkan.
Cobalah online!
sumber
Ruby ,
5452 byteCobalah online!
sumber
Cubix , 43
46byteCobalah online!
Kubus
Lihat saja
Telah berhasil mencukur sedikit lebih banyak dari ini, tetapi itu sedikit lebih sulit daripada yang saya kira. Ada karakter pengganti setelah kutipan pertama memberi saya 26.
'<sub>
dorong 26 ke tumpukan sebagai nomor dasar:(!
duplikat basis sebagai penghitung, pengurangan, uji kebenaranu
pada true lewati$
perintah dan putar u ke kananSo;u
tekan 32, output sebagai karakter, pop 32 dan putar kanan ke decrement$
pada false jumpu
perintah selanjutnya;:'@^
pop, duplikat nomor dasar, dorong 64 ke stack dan redirect ke rute yang menyiksa$\s/:\/u;$
ini adalah urutan langkah-langkah di wajah atas. Itu bermuara untuk menukar counter dengan 64. Berakhir dengan melewatkan redirect yang meletakkannya di sini.<+o;U
redirect untuk menambah, menampilkan karakter, pop, u-belok kiri(!
penurunan, uji kebenaran. Jika benar dimulai pada jalur yang mengenai putar u dan kembali ke pengalihan.|(;No
pada false, reflect, redundant test, redundant decrement, pop, push 10 dan karakter output;;(u!@W
pop down ke nomor dasar, decrement, u-belok kanan ke tes yang benar, berhenti jika false jika tidak mengubah jalur ke duplikat di awal. Bilas dan ulangi.sumber
Python, 83 byte
Jawaban pertama saya tentang codegolf :)
sumber
sed 4.2.2 + Bash , 50 byte
Cobalah online!
Bash + sed 4.2.2 , 51 byte
Membangun jawaban atas DigitalTrauma .
Cobalah online!
sumber
Vim, 43 penekanan tombol
Anda dapat melihatnya beraksi di GIF ini menggunakan skrip python Lynn
sumber
JavaScript,
7574 byte1 byte disimpan berkat Rick Hitchcock
Cobalah online!
sumber
b
(b=''
), lalub
keluarkan tanda kurung siku.Perl 5 , 49 byte
Cobalah online!
sumber
A
, tetapi tampaknya itu bisa diperbaiki dengan mengubahnya$"x25
menjadi$"x26
!Z
, saya lupa memperhitungkannya.Pyke , 8 byte
Coba di sini!
Saya bisa melihat bahasa yang tepat melakukan ini dalam 6 byte jika mereka memiliki builtin untuk
prepend n spaces to string
serta apa yang dilakukan Pykesumber
PHP (
635855 byte)Ini mungkin sudut aneh PHP favorit saya, sudut yang diwarisi dari Perl:
Ini menghasilkan baris baru yang tertinggal, sebagaimana diizinkan secara eksplisit. Ini dapat dijalankan
php -r
untuk menyimpan celah yang<?php
diperlukan untuk meletakkan ini dalam file.Penjelasan: ketika variabel yang berisi string
'A'
ditambahkan dalam PHP, itu menjadi'B'
dan kemudian'C'
dan seterusnya hingga'Z'
menjadi'AA'
. Tidak ada angka sebelumnya'A'
untuk memulai dengan aljabar madcap ini, dan operator penurunan tidak membatalkannya, jadi kami menyimpan alfabet yang dibalik secara bertahap ke$z
(yang defaultnyaNULL
ketika digabungkan dengan string berperilaku seperti string kosong - the yang sama terjadi dengan$s
dan$q
). Spasi terakumulasi$s
dan seluruh string diakumulasikan ke belakang dalam variabel$q
yang berarti kita harus menggemakannya di akhir.Terima kasih kepada Titus karena bermain golf dengan kawat gigi keriting saya dan memberi tahu saya bahwa saya tidak perlu mengambil penalti untuk bendera evaluasi inline seperti
-r
.sumber
-r
Bebas. Dua byte lebih pendek:for($c=A;$c!=AA;$q="$s$z\n$q",$s.=" ")$z=$c++.$z;echo$q;
-R
dan-F
yang tidak bebas. Lihat codegolf.meta.stackexchange.com/questions/2424/…$c<AA
.SOGL V0.12 ,
108 byteCoba Di Sini!
sumber
701 choose x
upaya untuk setiap bilangan x) tetapi upaya kasarnya adalah 450 byte: PCommon Lisp,
8482 byteCobalah online!
Dua byte lebih sedikit, berkat @ Ascii-only!
sumber
Python 2 ,
7267 byteCobalah online!
sumber