Tugas Anda adalah membuat loop tak terbatas terpendek!
Inti dari tantangan ini adalah membuat loop infinite yang tidak menghasilkan output, tidak seperti duplikat yang mungkin. Alasannya adalah karena kodenya mungkin lebih pendek jika tidak ada output yang diberikan.
Aturan
- Setiap pengajuan harus merupakan program lengkap.
- Anda harus membuat loop tak terbatas terpendek.
- Bahkan jika program Anda kehabisan memori pada akhirnya, itu masih diterima selama itu berjalan sepanjang waktu dari awal hingga ketika kehabisan memori. Juga ketika kehabisan memori, itu masih tidak harus mencetak apa pun ke STDERR.
- Program tidak boleh mengambil input (namun, membaca dari file diperbolehkan), dan tidak boleh mencetak apa pun ke STDOUT. Output ke file juga dilarang.
- Program tidak boleh menulis apa pun kepada STDERR.
- Jangan ragu untuk menggunakan bahasa (atau versi bahasa) meskipun itu lebih baru dari tantangan ini. -Perhatikan bahwa harus ada juru bahasa sehingga pengiriman dapat diuji. Diperbolehkan (dan bahkan dianjurkan) untuk menulis sendiri penerjemah ini untuk bahasa yang sebelumnya tidak diterapkan. : D
- Pengajuan dinilai dalam byte, dalam pengkodean yang sesuai (sudah ada), biasanya (tetapi tidak harus) UTF-8. Beberapa bahasa, seperti Folder, agak sulit untuk dinilai - jika ragu, silakan tanyakan di Meta.
- Ini bukan tentang menemukan bahasa dengan program loop tak terbatas terpendek. Ini adalah tentang menemukan program loop tak terbatas terpendek dalam setiap bahasa. Karena itu, saya tidak akan menerima jawaban.
- Jika bahasa pilihan Anda adalah varian sepele dari bahasa lain (yang berpotensi lebih populer) yang sudah memiliki jawaban (pikirkan dialek BASIC atau SQL, shell Unix atau Brainf ** k-turunan sepele seperti Alphuck), pertimbangkan untuk menambahkan catatan ke yang sudah ada menjawab bahwa solusi yang sama atau sangat mirip juga merupakan yang terpendek dalam bahasa lain.
- Seharusnya ada situs web seperti Wikipedia, Esolangs, atau GitHub untuk bahasa tersebut. Misalnya, jika bahasanya adalah CJam, maka orang dapat menautkan ke situs di header seperti
#[CJam](http://sourceforge.net/p/cjam/wiki/Home/), X bytes
. - Tidak ada celah standar.
(Saya telah mengambil beberapa aturan ini dari tantangan "Hello World" Martin Büttner)
Silakan kirim komentar untuk memberi tahu saya bagaimana tantangan ini dapat ditingkatkan.
Katalog
Ini adalah Stack Snippet yang menghasilkan katalog abjad dari bahasa yang digunakan, dan keseluruhan leaderboard. Untuk memastikan jawaban Anda muncul, mulailah dengan tajuk penurunan harga ini:
# Language name, X bytes
Jelas mengganti Language name
dan X bytes
dengan barang yang tepat. Jika Anda ingin menautkan ke situs web bahasa, gunakan templat ini, seperti yang diposting di atas:
#[Language name](http://link.to/the/language), X bytes
Sekarang, akhirnya, inilah cuplikannya: (Coba tekan "Halaman penuh" untuk tampilan yang lebih baik.)
var QUESTION_ID=59347;var ANSWER_FILTER="!t)IWYnsLAZle2tQ3KqrVveCRJfxcRLe";var COMMENT_FILTER="!)Q2B_A2kjfAiU78X(md6BoYk";var OVERRIDE_USER=41805;var answers=[],answers_hash,answer_ids,answer_page=1,more_answers=true,comment_page;function answersUrl(index){return"//api.stackexchange.com/2.2/questions/"+QUESTION_ID+"/answers?page="+index+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+ANSWER_FILTER}function commentUrl(index,answers){return"//api.stackexchange.com/2.2/answers/"+answers.join(';')+"/comments?page="+index+"&pagesize=100&order=desc&sort=creation&site=codegolf&filter="+COMMENT_FILTER}function getAnswers(){jQuery.ajax({url:answersUrl(answer_page++),method:"get",dataType:"jsonp",crossDomain:true,success:function(data){answers.push.apply(answers,data.items);answers_hash=[];answer_ids=[];data.items.forEach(function(a){a.comments=[];var id=+a.share_link.match(/\d+/);answer_ids.push(id);answers_hash[id]=a});if(!data.has_more)more_answers=false;comment_page=1;getComments()}})}function getComments(){jQuery.ajax({url:commentUrl(comment_page++,answer_ids),method:"get",dataType:"jsonp",crossDomain:true,success:function(data){data.items.forEach(function(c){if(c.owner.user_id===OVERRIDE_USER)answers_hash[c.post_id].comments.push(c)});if(data.has_more)getComments();else if(more_answers)getAnswers();else process()}})}getAnswers();var SCORE_REG=/<h\d>\s*([^\n,<]*(?:<(?:[^\n>]*>[^\n<]*<\/[^\n>]*>)[^\n,<]*)*),.*?(\d+)(?=[^\n\d<>]*(?:<(?:s>[^\n<>]*<\/s>|[^\n<>]+>)[^\n\d<>]*)*<\/h\d>)/;var OVERRIDE_REG=/^Override\s*header:\s*/i;function getAuthorName(a){return a.owner.display_name}function process(){var valid=[];answers.forEach(function(a){var body=a.body;a.comments.forEach(function(c){if(OVERRIDE_REG.test(c.body))body='<h1>'+c.body.replace(OVERRIDE_REG,'')+'</h1>'});var match=body.match(SCORE_REG);if(match)valid.push({user:getAuthorName(a),size:+match[2],language:match[1],link:a.share_link,});else console.log(body)});valid.sort(function(a,b){var aB=a.size,bB=b.size;return aB-bB});var languages={};var place=1;var lastSize=null;var lastPlace=1;valid.forEach(function(a){if(a.size!=lastSize)lastPlace=place;lastSize=a.size;++place;var answer=jQuery("#answer-template").html();answer=answer.replace("{{PLACE}}",lastPlace+".").replace("{{NAME}}",a.user).replace("{{LANGUAGE}}",a.language).replace("{{SIZE}}",a.size).replace("{{LINK}}",a.link);answer=jQuery(answer);jQuery("#answers").append(answer);var lang=a.language;lang=jQuery('<a>'+lang+'</a>').text();languages[lang]=languages[lang]||{lang:a.language,lang_raw:lang,user:a.user,size:a.size,link:a.link}});var langs=[];for(var lang in languages)if(languages.hasOwnProperty(lang))langs.push(languages[lang]);langs.sort(function(a,b){if(a.lang_raw.toLowerCase()>b.lang_raw.toLowerCase())return 1;if(a.lang_raw.toLowerCase()<b.lang_raw.toLowerCase())return-1;return 0});for(var i=0;i<langs.length;++i){var language=jQuery("#language-template").html();var lang=langs[i];language=language.replace("{{LANGUAGE}}",lang.lang).replace("{{NAME}}",lang.user).replace("{{SIZE}}",lang.size).replace("{{LINK}}",lang.link);language=jQuery(language);jQuery("#languages").append(language)}}
body{text-align:left!important}#answer-list{padding:10px;width:500px;float:left}#language-list{padding:10px;padding-right:40px;width:500px;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="language-list"> <h2>Shortest Solution 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> <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> <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>
""
, string kosong?Jawaban:
Befunge , 0 byte
Ya. Sebuah program Befunge ada di playfield dua dimensi dengan ukuran tetap yang melingkari tepinya. Dengan tidak ada apa-apa di ruang itu untuk mengganggu, penghitung program berjalan dalam loop tanpa batas secara default :)
sumber
<pre> </pre>
untuk blok kode yang tampak kosong.L00P , 0 byte
Bahasa ini dibuat untuk perulangan, dan itulah yang akan dilakukan ...
sumber
Kode Mesin C64 , 2 Bytes
Cabang ke dirinya sendiri jika bendera nol tidak diatur.
Cabang adalah offset byte tunggal dari lokasi instruksi berikutnya, dan 254 adalah -2 dalam komplemen dua ... instruksi BNE (D0) mengambil satu byte memori, dan offset mengambil byte kedua, sehingga bercabang dua byte kembali cabang kembali untuk dirinya sendiri. Bendera nol selalu dihapus ketika kode dimuat ke dalam memori.
Perhatikan bahwa ini bukan panggilan subrutin rekursif, sehingga Anda tidak akan pernah kehabisan memori. Perhatikan juga bahwa tidak ada header, compiler, atau overhead yang dapat dieksekusi ... ini benar-benar sebuah program dua byte :)
sumber
BNE -2
debug
. Ini secara efektif akan merusak mesin, dan sebagian besar staf toko tidak tahu bahwa itu bukan hanya drive mati.Brainfuck, 3 byte
Tidak pernah berkurang: tidak pernah berakhir.
sumber
-[]
]
akan bekerja/// , 3 byte
Adakah poin bonus untuk menggunakan nama bahasa sebagai kode sumber?
sumber
///
;)esolangs.org
wiki
_
_
_
_
/wiki////
. Sementara itu dimaksudkan sebagai jalur, server dapat melakukan informasi apa pun yang diinginkannya.Java , 53 byte
Persyaratan program lengkap!
sumber
main
:( kosongProlog, 5 byte
Untuk mengetahui apakah predikat
a
itu benar, Anda hanya perlu memeriksa apakah predikata
itu benar.Anda perlu memuat file dan mengeksekusi
a
, keduanya dengan argumen baris perintah. Perhatikan bahwa rekursi kemungkinan akan dioptimalkan sebagai loop tak terbatas dan tidak boleh meniup stack.Juga, ini terlihat seperti senyuman, tetapi saya tidak yakin bagaimana menyebutnya. Titik tersebut terlihat seperti air liur, jadi mungkin "keadaan vegetatif", atau "programmer Infiurated dengan rambut keriting". Saran diterima.
sumber
a
itu benar dengan memeriksa apakaha
itu benar dengan memeriksa apakaha
itu benar dengan memeriksa ... yay rekursi!Haskell , 9 byte
Rekursi tak terbatas dari fungsi utama. Harus dikompilasi ke loop karena optimasi rekursi ekor.
sumber
<<loop>>
pengecualian - setidaknya denganghc
. Mungkin beberapa kompiler lain berperilaku berbeda.runhaskell Loop.hs
dengan senang hati menjalankannya selama beberapa menit di komputer saya. Jadi, setidaknya bisa dijalankan oleh penerjemah. Saya pikir<<loop>>
pengecualian runtime yangghc
melempar adalah murni implementasi detail dari runtime dan bukan bagian dari bahasa Haskell sebagaimana ditentukan dalam salah satu dari Laporan Haskell.runhaskell
dengan senang hati menerima kode tetapi tidak berulang. Tidak melakukan apa-apa. Namun, tantangannya hanya perlu membuat loop, bukan untuk mengeksekusinya, jadi saya kira tidak apa-apa. Punya +1.main = main
secara semantik berada di bucket yang sama denganundefined
atauerror "<<loop>>"
: nilai bawah ⟂.main=main>>main
Python, 9 byte
Bekerja dalam 2 dan 3.
Disingkat oleh @FryAmTheEggman
sumber
Eksekusi x86 ELF, 45 byte
Berbeda dengan sebagian besar jawaban ini, ini adalah program yang benar-benar lengkap, seperti dalam program yang dapat dieksekusi berdiri sendiri.
Nyali program berada pada byte 0x20
ebfe
, yang ditampilkan dalam jawaban lain sebagai program NASM terkecil. Namun, jika Anda merakitnya dengan NASM, Anda mendapatkan executable dengan ribuan byte yang tidak dibutuhkan. Kita dapat menyingkirkan sebagian besar dari mereka menggunakan teknik yang diuraikan di sini . Anda mungkin memperhatikan bahwa program ini bahkan tidak sebesar header ELF! Sedikit golf yang dapat dieksekusi ini merusak header ELF dan header program sehingga mereka dapat menempati byte yang sama dalam file dan memasukkan program kami ke beberapa byte yang tidak digunakan dalam header. Linux masih akan dengan senang hati membaca header dan memulai eksekusi di offset di0x20
mana ia berputar selamanya.sumber
.com
pada DOS akan jauh lebih pendek :)yasm && ld
membuat executable hanya sekitar 1k.INTERCAL,
4218 byteIde diambil dari komentar @ flawr.
SUNTING: Sialan, INTERCAL sebenarnya lebih pendek dari C #. Saya tidak tahu apakah itu pernah terjadi sebelumnya ...
Versi 42 byte
sumber
comefrom
PLEASE
?Perl , 6 byte
Dari
perldoc -f redo
:Saya tidak melihat
redo
terlalu sering dalam kode produksi, tetapi ini bagus untuk golf! Bandingkan atas untuk setara terpendek denganfor
,while
, dangoto
:sumber
do$0
, yang tidak berfungsi sebagaiperl -e
satu-liner.do EXPR
membaca dari file.> <> , 1 byte
Satu spasi akan menyebabkan> <> untuk masuk ke loop NOP yang tak terbatas
Program karakter tunggal sah lainnya (tanpa persyaratan memori) adalah sebagai berikut:
Selain itu, aturan menyatakan bahwa program Anda dapat kehabisan memori sehingga kami dapat menambahkan karakter berikut ke daftar program 1-byte yang valid:
sumber
` `
untuk blok kode.>
?Kode Mesin Motorola MC14500B ,
0,50 bytePenjelasan
Menurut manual, sistem dikonfigurasikan untuk memiliki struktur kontrol perulangan. Penghitung program menghitung hingga nilai tertinggi, membungkus kembali ke nol, dan menghitung kembali.
sumber
LOLCODE , 24 byte
sumber
HAI
danKTHXBYE
tidak perlu.C, 15 byte
Ya, mungkin untuk menelepon
main()
secara rekursif. Jika Anda memiliki kompiler yang melakukan optimasi panggilan-tailing (katakanlah, gcc dengan-O2
opsi), itu bahkan tidak segfault: kompiler cukup pintar untuk mengubah fungsi panggilan menjadi agoto
.sumber
-O2
opsi.-O2
optimasi menjadi "menyenangkan untuk dimiliki" daripada persyaratan.l(){l();}
dan mengkompilasinya dengan opsi-Dl=main -O2
main(){for(;;);}
.Labirin , 1 byte
Program labrinth mengeksekusi instruksi yang sama berulang kali jika tidak ada tetangga. Mereka juga tidak akan berakhir sampai mereka menjalankan
@
instruksi.sumber
Vim , 7 penekanan tombol
Buka editor, lebih disukai tanpa skrip yang dimuat, misalnya seperti ini dari baris perintah:
vim -u NONE
Vimscript,
158 byteTambahkan dalam skrip, atau jalankan langsung dengan menekan tombol titik dua (
:
) terlebih dahulu saat Anda dalam mode normalsumber
wh1|endw
qq
mulai merekam ke dalamq
buffer.@q
memutar ulang apa yang ada diq
buffer (pada titik ini, tidak ada).q
berhenti merekam, dan kemudian@q
memutar ulang whats diq
buffer, yang pada saat ini adalah penekanan tombol@q
. Jadi@q
replay@q
replay@q
.... juga, menulis sebanyak iniq
membuat otakku sakit.Retina , 3 byte
Jika diberi satu file, Retina menggunakan tahap Count, menggantikan input dengan jumlah kecocokan yang ditemukan untuk regex yang diberikan. Di sini, regexnya
0
. Sekarang+
lilitkan panggung selama hasilnya berubah dari iterasi sebelumnya. Jadi apa yang sebenarnya terjadi?0
dicocokkan dengan input kosong, sehingga tidak ada yang cocok, jadi hasilnya adalah0
. Ini berbeda dari input, jadi kami menjalankan ini lagi.0
dicocokkan dengan output sebelumnya0
, yang sekarang memberikan satu kecocokan ... jadi hasilnya1
.0
dicocokkan dengan output sebelumnya1
, yang gagal ... jadi hasilnya0
.Hasil dari iterasi loop bergantian antara
0
dan1
, yang a) memastikan bahwa loop tidak pernah berakhir dan b) memastikan bahwa kita tidak kehabisan memori karena string tidak tumbuh.Secara default, Retina hanya menghasilkan setelah program berakhir, jadi ini tidak mencetak apa pun (Anda dapat mengubah perilaku ini dengan menambahkan tanda
>
setelah+
, yang kemudian akan mencetak angka nol dan angka yang bergantian ).Pada 1.0, Retina sebenarnya juga memiliki loop-sementara yang lebih tradisional, yang bisa Anda gunakan dengan tahap yang lebih sederhana (yang tidak mengubah string sepanjang waktu), tetapi sebenarnya membutuhkan lebih banyak byte. Satu opsi adalah:
sumber
+`
mencocokkan input kosong berulang kali?2
setelah beberapa iterasi.BASIC (QBasic 4.5),
1053 byteDalam bahasa pemrograman BASIC, RUN digunakan untuk memulai eksekusi program dari mode langsung, atau untuk memulai program overlay dari program loader. - Wikipedia
Sunting: Ini berfungsi tanpa nomor baris di QBasic 4.5, menurut @steenbergh
Ini versi pertama yang saya posting. Lingkaran GOTO tak terbatas. Juga, ini 10 byte, yang merupakan kebetulan yang bagus!
sumber
1 GOTO SIGNUM PI
- karena int konstan disimpan dalam memori dua kali, sebagai celana pendek, jadi 1 akan menjadi 4 byte, tetapi SIGNUM dan PI keduanya hanya menggunakan masing-masing satu byte. Ah, trik pengkodean lama yang biasa kami gunakan: D Tidak yakin berapa banyak jumlah baris memori yang digunakan, jika ada, jadi yang bisa saya katakan adalah 3+ (penyimpanan nomor baris) byte.TIS Node Type T21 Architecture, 6 byte
Node Sistem Intelijen Tessellated diklasifikasikan sebagai node "pemrosesan" atau "penyimpanan". Node penyimpanan hanya menyimpan dan mengambil informasi, dan tidak relevan dalam hal ini. Yang tersisa adalah node pemrosesan. Node Type T21, atau Basic Execution Node, adalah yang paling umum dan sederhana (seperti namanya).
Secara teknis, setiap node dapat dianggap sebagai komputer independen. Dalam kasus T21, itu adalah komputer yang memiliki dua register penyimpanan (satu dialamatkan, satu tidak) dan satu set instruksi dari 15 perintah. Ini memiliki memori yang cukup untuk diprogram dengan hingga 15 instruksi. Semua node TIS memiliki empat port yang menghubungkan mereka ke node yang berdekatan secara topologi. Membaca dari port menyebabkan simpul itu menggantung sampai simpul di ujung lainnya menulis padanya, dan menulis ke port hang sampai simpul itu membacanya.
Anda mungkin bisa tahu sekarang bahwa node TIS tidak pernah dimaksudkan untuk melakukan banyak hal sendiri. Namun, bersama-sama, mereka bisa sangat kuat ... well, untuk waktu mereka. Karena keterbatasan ini, sangat jarang melihat seseorang menggunakan hanya satu node. Bahkan, sebuah program yang mengambil input dan memberikan output berdasarkan itu harus menggunakan setidaknya tiga node, karena sistem TIS memasukkan input ke
UP
port dari sebuah node di baris atas dan mengambil output dariDOWN
port dari sebuah node di baris bawah. Ada tiga baris, jadi data harus melewati setidaknya tiga node untuk sampai ke bawah.Karena keterbatasan ini, node TIS dimaksudkan untuk secara umum digunakan agak seperti ini:
Karena ini, ruang terbatas untuk instruksi dan fakta bahwa node hanya menunggu dengan tenang dan tidak menimbulkan masalah ketika mencoba membaca input yang tidak ada, keputusan dibuat dalam desain mereka yang membuat mereka sangat baik untuk tantangan ini. Saya akan mengutip dari referensi manual TIS-100:
Sempurna! Loop tak terbatas adalah default untuk node TIS.
Saya hampir menjawab pertanyaan ini dengan jawaban 0 byte, mengklaim bahwa simpul kosong adalah infinite loop. Namun, saya meneliti lebih lanjut. Pertama, kutipan di atas menyatakan bahwa loop terjadi setelah mengeksekusi instruksi terakhir . Selain itu, saya menguji implementasinya. Setiap node melaporkan "mode" setiap saat. Itu tidak dapat diakses secara pemrograman tetapi ini dimaksudkan untuk mempermudah proses debug. Berikut adalah mode yang mungkin:
Ternyata, karena setiap node adalah komputer individual, mereka mampu menentukan apakah mereka memiliki instruksi untuk dijalankan atau tidak. Jika tidak, mereka tetap dalam
IDLE
kondisi (kemungkinan untuk menghemat daya). Karena itu, saya tidak dapat mengklaim bahwa itu "perulangan"; alih-alih, setiap simpul duduk dengan tenang, dengan asumsi yang lain melakukan sesuatu yang penting.Program yang saya kirimkan ini benar-benar sebuah infinite loop, karena mengeksekusinya menetapkan status simpul
RUN
. Ini adalah yang sederhana seperti yang Anda harapkan,NOP
melakukanN
oOP
timbangkan. Setelah selesai melakukan apa-apa, eksekusi kembali ke atas kode:NOP
.Jika Anda merasa tidak memuaskan bahwa aku menyalahgunakan arsitektur T21 untuk membuat lingkaran, saya menawarkan solusi alternatif pada biaya 2 bytes:
JRO 0
.JRO
berartiJ
umpR
elative tanpaO
sadar. Atau sesuatu, kurasa. Tidak ada bentuk diperluas dari instruksi yang disepakati. Bagaimanapun,JRO
ambil argumen numerik dan lompati eksekusi dengan jumlah itu relatif terhadap posisi saat ini. Misalnya,JRO 2
lewati instruksi yang mengikutinya (berguna jika instruksi tersebut dilompati dari tempat lain).JRO 1
melompat ke depan satu instruksi, membuatnya menjadiNOP
. melompat ke dirinya sendiri, mengeksekusi dirinya sendiri selamanya.JRO -1
melompat mundur satu instruksi, secara efektif melakukan instruksi sebelumnya sekali setiap dua siklus sampai program dihentikan. Dan tentu saja,JRO 0
Pada titik ini Anda mungkin berpikir:
Pertanyaan bagus, terima kasih sudah bertanya. Orang mungkin secara naif berpikir bahwa program TIS harus dihitung dengan cara yang sama seperti kita menghitung program dalam banyak file: jumlah byte di semua node, ditambah 1 byte untuk setiap node tambahan setelah yang pertama. Namun, komunitas golf TIS memutuskan ini tidak adil karena alasan sederhana sehingga mengabaikan beberapa informasi yang diperlukan untuk membuat kembali solusi. Tetangga node sangat penting, dan metode penilaian memberi Anda informasi posisi secara gratis. Sebagai gantinya, kami telah mengadopsi format yang digunakan oleh emulator TIS paling umum, yang disebut TIS-100 yang membingungkan. (Catatan: Tolong jangan beri nama emulator setelah sistem yang mereka tiru. Ini tidak pintar, itu hanya menyebalkan dan membuat semua orang harus terus-menerus mengklarifikasi apa yang mereka bicarakan.) Sangat sederhana: 12 simpul dari TIS-100 perangkat diberi nomor, dari kiri ke kanan dan atas ke bawah, melewatkan node penyimpanan apa pun yang telah dipasang oleh sistem yang ditiru. Sebuah simpul bernomor yang
N
berisi# CODE\n# CODE\n CODE
disimpan seperti ini:Jadi, simpul bernomor 0 yang berisi
NOP
diberi skor sesuai dengan perwakilannya dalam format ini:Enam byte.
Seperti yang sering saya sertakan dalam jawaban saya dalam bahasa yang menarik secara visual, Anda dapat menonton emulator TIS-100 menjalankan program ini di YouTube . Padahal, mengingat tantangan ini, aku tidak tahu apa yang kamu harapkan untuk dilihat ...
sumber
JRO
berdiri J UMP untuk R elative O FFset.C # ,
383736 byteUntuk loop tanpa kondisi berhenti.
Pengembalian main harus int, tetapi karena tidak akan pernah mencapai akhir ini harus dikompilasi. (Diuji dalam VS 2015 dan 2013, juga berfungsi di Ideone ). Terima kasih Geobits dan MichaelS .
Versi yang lebih pendek, 35 byte, dapat dicapai, tetapi cetakan
Process is terminated due to StackOverflowException
yang saya percaya melanggar poin ketiga dari tidak mencetak apa pun ke stderr. Kredit ke MichaelBsumber
;
bukan{}
? Saya akan menguji, tetapi layanan online tidak suka banyak loop tak terbatas.class B{static int Main()=>Main();}
Foo, 3 byte
Bahasa pemrograman favorit semua orang! : D
sumber
Hexagony , 1 byte
Saya tidak tahu banyak tentang bahasa yang luar biasa ini yang dibuat oleh @ MartinBüttner, tetapi dari apa yang saya lihat, ini seharusnya berulang, karena tidak ada yang
@
menghentikan program..
hanyalah sebuah no-op.sumber
Perl, 4 byte
Menjalankan sendiri berulang kali.
sumber
do EXPR
membaca dari file, yang secara teknis akan menjadi input, tetapi OP mengklarifikasi bahwa file I / O dapat diterima. Yang benar-benar keren adalah bahwa tidak seperti yang setara di Bash, katakanlah, ini tidak memotong proses baru, jadi itu akan terus tanpa batas tanpa mencapai batas memori atau proses.Gammaplex , 0 byte
Di Gammaplex, tidak mungkin menulis program yang bukan loop tak terbatas. Jadi saya hanya menulis program yang tidak menggunakan input / output.
sumber
Pyth, 2 byte
Pyth mengharapkan token setelah operator selamanya. (Itu ruang.)
sumber
bash + BSD coreutils,
23 22 14 6 56 byteyes
menghasilkan "y" selamanya;>&-
menutup STDOUT.Terima kasih @Dennis dan @ThisSuitIsBlackNot untuk bantuan menurunkan ukurannya!
sumber
$0
di dalam shellscript dan jalankan, itu akan memanggil dirinya sendiri selamanya.while :;do :;done
hanya 17 byte.ping>&- 0
bekerja di Linux, di mana0
dipetakan ke localhost.yes
! (Saya berpikir untuk menggunakanyes
tetapi tidak terpikir oleh saya untuk membuang output.) Anda dapat menyimpan satu byte denganyes>/dev/null
Gangguan Umum, 6 karakter
sumber
(do()(()))
.do
, dan tentang membuat pembaca berjalan tanpa henti , tetapi saya tidak melihat bagaimana melakukannya segera. Tampaknya tidak ada yang mengalahkan(loop)
.Fission , 1 byte
Tepatnya ada 4 solusi satu byte:
Keempat huruf ini menunjukkan bahwa atom dimulai dari sana (dengan arah yang sesuai). Salah satunya diperlukan karena tanpa atom program akan segera berakhir. Karena kode sumber hanya berukuran satu karakter, atom akan membungkus segera, dan menjalankan sel yang sama lagi. Namun, setelah awal program
UDLR
hanya bertindak untuk membelokkan atom yang masuk ke arah yang sesuai, sehingga mereka menjadi no-ops dalam kasus ini.sumber