Kode terpendek untuk menghasilkan keluaran tanpa batas

121

Tulis kode terpendek yang dapat Anda buat yang menghasilkan keluaran tanpa batas.

Itu saja. Kode Anda hanya akan didiskualifikasi jika berhenti menghasilkan keluaran di beberapa titik. Seperti biasa dalam golf kode, kode terpendek menang.

Berikut daftar jawaban yang menurut saya sangat pintar, sehingga mereka bisa mendapat pujian:

Papan peringkat

tbodt
sumber
118
Semua jawaban didiskualifikasi karena pada suatu saat Bumi akan ditelan matahari, dan pada titik tertentu alam semesta akan mati: P
Gagang Pintu
17
Apakah "tak terbatas hingga komputer Anda mogok" dihitung? <_ <
Izkata
5
Jika saya menulis milik saya di Piet , dapatkah saya menghitung piksel teks yang digunakan program lain? Saya percaya program Piet berulang sekecil mungkin adalah 6 piksel. Itu mengalahkan Befunge jika piksel "off" masih dihitung.
DampeS8N
9
@Izkata Jadi jawaban apa pun yang membuat komputer Anda macet juga diizinkan: D
11ıʇǝɥʇuʎs
7
@Doorknob Jadi sungguh, tantangannya adalah untuk menghasilkan output yang tak terbatas dalam jumlah waktu yang terbatas . Kedengarannya cukup mudah.
Sanchises

Jawaban:

212

Befunge (1)

.

Output 0selamanya. Ini bekerja karena di garis Befunge membungkus, dan Anda dapatkan 0jika Anda pop dari tumpukan kosong.

marinus
sumber
6
Saya pikir kita punya pemenang.
primo
96
Aku bersumpah aku punya kelas Java di sekitar sini di suatu tempat yang lebih pendek. +1
l0b0
56
Titik ini sekarang membuat saya lebih terkenal daripada gabungan dua jawaban saya berikutnya.
marinus
3
Ah ... Itu tidak adil :) Ayo kita lakukan seperti ini: Saya mengurangi ukuran gambar dengan beberapa piksel dan kami menampilkannya sangat kecil .. Sehingga terlihat seperti titik? Dan menyebutnya bahkan? :)
Benjamin Podszun
4
Mengapa ini bukan jawaban yang diterima?
Claudiu
101

x86 .COM Dapat Dieksekusi, 7

dalam hex:

b8 21 0e cd 10 eb fc

Yang lain membutuhkan kilobyte atau lebih dari pustaka dan runtime sistem. Kembali ke dasar:

$ echo -ne '\xb8!\xe\xcd\x10\xeb\xfc' > A.COM
$ dosbox A.COM

keluaran

Anda dapat mengubah byte 2 ( 0x21, atau !) untuk mengubah output.

Menggunakan interupsi BIOS untuk output; tidak perlu DOS, tapi saya belum mengatur QEMU.


Penjelasan

Kode mesin sesuai dengan rakitan berikut:

        mov     ax, 0x0e21
again:  int     0x10
        jmp     again

Output semua dalam intpanggilan - per referensi ini , int 0x10 dengan 0x0e di AH akan mencetak byte dalam AL ke layar.

Mengetahui bahwa register AX adalah kata 16-bit yang terdiri dari AH pada byte tinggi dan AL pada byte rendah, kita dapat menghemat beban tambahan (dan dengan demikian byte dalam kode mesin) dengan memuatnya bersama.

AlliedEnvy
sumber
2
Wow. Itu sangat bagus
tbodt
46
panjang kode mesin rendah harus bernilai lebih banyak poin daripada bahasa tingkat tinggi.
pwned
12
Ini adalah kode terpendek dalam arti sebenarnya.
microbian
4
Tidak hanya berfungsi, ia bekerja lebih cepat dari semua entri lainnya. :)
Thane Brimhall
14
@ThaneBrimhall Yang tentu saja kriteria paling penting sejauh ini untuk perulangan tanpa batas ... Jika komputer saya tutup, saya ingin melakukannya dengan cara yang paling efisien!
kratenko
91

File Batch Windows, 2 karakter

%0

Panggilan itu sendiri tanpa batas.

teh_senaus
sumber
12
Tutup tempat kedua, bung. Sudah selesai dilakukan dengan baik. Saya hanya pernah melihat satu jawaban di mana Batch telah memenangkannya.
hapus dekor
Sungguh luar biasa !!!
Qwertiy
Ini luar biasa!
Patrick Purcell
Cara kerjanya: %0tidak memiliki @, jadi itu akan terus-menerus menghasilkan sesuatu seperti ...> %0. Ini mungkin memakan seluruh RAM kadang-kadang, karena ini bersifat rekursif.
Erik the Outgolfer
2
@EriktheOutgolfer mungkin ? Bagaimana ini tidak akan crash di beberapa titik karena rekursi tak terbatas? Saya tidak melihat bagaimana ini bisa berlangsung selama beberapa jam
phil294
68

Befunge 98 - 2

,"

Keluaran ",,,,,,,,,," untuk selamanya.

AndoDaan
sumber
2
Sebenarnya agak pintar.
tbodt
Terima kasih. Sungguh aneh, ", versi keluaran spasi (atau". Keluaran 32 32 32) menggunakan implementasi b98 yang paling umum. Tidak tahu dari mana mendapatkannya.
AndoDaan
1
Sayang sekali itu terkubur di bawah 82.395 jawaban yang benar-benar jelek.
tbodt
7
@tbodt Nah, menurut spesifikasi, program kecil saya memiliki semua keabadian untuk naik ke atas. Jadi ... semoga saja ...
AndoDaan
@AndoDaan: ", membuat string koma dan ruang INT_MAX-2, lalu mencetak spasi terakhir. Jadi tumpukan akan mengisi dirinya sendiri dengan koma ruang INT_MAX-3, tidak terlalu efisien.
YoYoYonnY
62

sh, 3 byte

yes

output yterus menerus

klingt.net
sumber
10
Padahal yesadalah biner eksternal, dan bukan bagian dari bash (secara tegas).
Bob
55
Dalam bash, (hampir) semuanya adalah biner eksternal.
Johannes Kuhn
5
Biasanya Anda tidak memiliki alias y=yesdan jika sistem Anda tidak esoteris, Anda dapat menganggap itu yesada di Anda $PATH(lihat GNU Core Utilities ). Dengan logika Anda adalah mungkin untuk menganggap rasi bintang aneh untuk setiap solusi.
klingt.net
5
Benar, tapi ini bukan hanya sebuah bashkemampuan: I'ts shell POSIX bagian dasar dari util inti . (Yaitu: silakan ubah judul untuk sh: 3 karakter ;-)
F. Hauri
2
Seperti yang dikatakan technosaurus, di busybox itu adalah builtin, tetapi di sh tidak begitu Anda harus mengatakan sh + coreutils sebagai gantinya.
Erik the Outgolfer
42

Haskell: 8 Karakter

Utas lama, tapi yang asyik adalah

 fix show

di Haskell, ia mencetak

\\\\\\\\\\\\\....

selamanya karena itu pada dasarnya berjalan

 let x = show x in x

Ia tahu bahwa itu xadalah sebuah string, jadi karakter pertama adalah ", jadi ini perlu diloloskan \", tetapi tahu bahwa itu \perlu diloloskan begitu \\\x, dan seterusnya dan seterusnya.

jozefg
sumber
... Wow. Sekarang saya bertanya-tanya apakah fix$showakan lebih estetis :-)
John Dvorak
7
Karena ini membutuhkan import Data.Function, dan karena mengembalikan string daripada mencetaknya, saya mempertanyakan keadilan jumlah karakter. Juga, string sebenarnya adalah "\" \ "\" \ "\ \" \ "\" \ " ""
Anders Kaseorg
36

File Batch Windows, 8 karakter

:a
goto a
Patrick Purcell
sumber
1
Ini tidak menghasilkan output yang tak terbatas, bukan ...?
Gagang Pintu
38
itu ... tanpa @echo off, mencetak "kebagian" sampai Anda menutupnya
Patrick Purcell
11
kita perlu lebih banyak BAT di sini
Einacio
35
Saya menghitung sepuluh karakter: :a\r\ngoto akarena Windows menggunakan CRLF
wchargin
1
@WChargin Saya baru saja memeriksa menggunakan hex editor. 3a 61 0a 67 6f 74 6f 20berfungsi di windows 8 saya ...: P
YoYoYonnY
32

Brainfuck, 4

+[.]

Kalau tidak,

-[.]
kotak kardus
sumber
8
Baik \x01atau \xFFkarakter dicetak. Saya kira itu bukan keharusan, meskipun: - /
John Dvorak
Cara untuk membuatnya menghasilkan karakter yang dapat dicetak adalah dengan mengganti + dengan, Ini berarti itu memerlukan input sekalipun
Prismo
31

Java, 54 karakter

Upaya terbaik di Jawa:

class A{static{for(int i=0;i<1;)System.out.print(1);}}
Rich Smith
sumber
7
Fungsional, sesuai dengan aturan, golf. Ingin tahu mengapa itu diturunkan.
manatwork
14
Apakah java melarang for(;;)pola klasik ? Bagaimana dengan while(true)?
CodesInChaos
17
@CodesInChaos, Java biasanya tidak melarang pola-pola itu dan biasanya saya akan menganggapnya lebih bersih dan lebih idiomatis. Di sini, meskipun kami mencoba menyelinap loop tak terbatas melewati kompiler (formulir tersebut menyebabkan kompiler mengeluh tentang blok statis {} yang tidak keluar).
Rich Smith
2
@Mechanicalsnail Ya, blok statis tidak dapat dijalankan sendiri sejak java 7.
Fabinout
1
@Liverni Tapi Anda tidak bisa menggunakan staticblokir.
Okx
30

Bash, 4 byte

$0&$

Output ./forever2.sh: line 1: $: command not foundterus menerus.

Karena $0dilatar belakangi, setiap orang tua mati setelah perintah yang tidak valid $, sehingga tumpukan / memori tidak habis, dan ini harus dilanjutkan tanpa batas waktu.

Anehnya, output semakin lama semakin lambat. topmelaporkan bahwa penggunaan CPU sistem mendekati 100%, tetapi ada proses memori atau CPU-babi. Agaknya beberapa alokasi sumber daya dalam kernel menjadi kurang dan kurang efisien.

Trauma Digital
sumber
2
mungkin perilaku stdout atau sejenisnya ...
masterX244
1
membebaskan sumber daya bersaing dengan proses forking / Untuk menghentikannya Anda tidak dapat mematikan proses karena PID mengubah satu-satunya cara untuk menghentikannya adalah dengan mengubah nama skrip jadi $0gagal.
Emmanuel
29

LOLCODE (36)

HAI IZ 1<2? VISIBLE "0" KTHX KTHXBYE 

Pikir saya akan mencoba LOLCODE, memiliki sejumlah besar fungsi.

Jerapah
sumber
2
Tidak perlu bertanya tentang stdio.
kucing
Dalam versi repl.it dari LOLCODE, Anda tidak perlu HAIdanKTHXBYE
MilkyWay90
24

JavaScript: 14

PERINGATAN: Anda benar-benar tidak ingin menjalankan ini di browser Anda

for(;;)alert()
zzzzBov
sumber
31
Cukup centang "Cegah situs ini dari membuka lebih banyak dialog".
Johannes Kuhn
1
@JohannesKuhn jangan centang ini dan Anda perlu reboot
Ilya Gazman
8
Atau tidak melakukan apa-apa dan tidak menampilkan output lebih lanjut.
Johannes Kuhn
hanya berlari alert()memberi saya kesalahan iniError: Not enough arguments [nsIDOMWindow.alert]
Clyde Lobo
3
Apakah ini benar-benar keluaran tanpa batas, ketika prosesnya diblokir dan eksekusi dihentikan hingga interaksi humanoid?
Morten Bergfall
24

Mesin Turing - 6 Karakter:

#s->1Rs

di mana #simbol kosong (pada kaset secara default), smenjelaskan satu-satunya keadaan (awal) yang ada, 1adalah mencetak angka, Rberarti bergeser ke kanan, spada akhirnya tetap dalam keadaan yang sama.

Serge
sumber
3
Saya menghitung 7 karakter !?
F. Hauri
9
Dalam notasi 5-tuple yang paling umum , ini akan ditulis hanya sebagai 5 karakter s#1Rs(kondisi saat ini, simbol saat ini, simbol-untuk-menulis, arah-ke-shift, kondisi-berikutnya).
res
19

Haskell, 10

print[1..]

Saya pikir ini adalah kode terpendek untuk

  1. Cetak sesuatu.
  2. Buat Showinfastruktur tak terbatas : mampu.

Bagi yang berminat, ini mencetak:

[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,...
shiona
sumber
4
Apakah ada alasan Anda memilih nomor ajaib 32 untuk berhenti?
Seperti
12
Itu tampak bagus dan bulat, itu juga mengisi ruang kode-blok sebaik mungkin tanpa perlu baris berikutnya.
shiona
2
Jika mesin memiliki jumlah memori terbatas, itu mungkin berakhir ketika bilangan bulat tumbuh terlalu besar untuk disimpan dalam memori?
Jeppe Stig Nielsen
3
@JeppeStigNielsen Ya. Namun bilangan bulat yang hanya akan mengisi satu megabyte memori adalah 2 ^ (2 ^ 20), atau sekitar 6,7 * 10 ^ 315652. Hingga satu gigabyte memori dan jumlahnya akan menjadi 2 ^ (2 ^ 30), monster dengan hampir setengah miliar digit. Saya cukup yakin bahwa jika kita mencoba mencetak seri kematian panas alam semesta akan menghantam kita sebelum memori habis. Dan kegagalan HDD jauh sebelum itu.
shiona
5
Dalam komentar di bawah OP disebutkan bahwa 'tak terbatas hingga komputer Anda mogok' juga diperhitungkan.
11684
19

Marbelous 4

24MB

Marbelous sangat mengejutkan di sini. Ini akan memposting jumlah tanda dolar yang tak terbatas $, meskipun akan mencapai batas tumpukan lebih cepat.

Bagaimana itu bekerja.

24 adalah literal bahasa, yang akan jatuh dari papan dan dicetak ke STDOUT sebagai karakter ascii yang sesuai. MB adalah nama yang diberikan secara implisit kepada papan utama, karena papan utama tidak memiliki input, ia akan memunculkan setiap centang. Dan karena sel dievaluasi dari kiri ke kanan, literal akan selalu dicetak sebelum panggilan rekursif berikutnya.

Jadi ini sangat mirip dengan pseudocode ini:

MB() {
    print('$');
    while(true) MB();
}

Suatu solusi tanpa rekursi tak terbatas 11

24@0
@0/\..

Yang satu ini bekerja dengan melingkarkan literal antara dua portal @0, setiap kali 24 hits yang lebih rendah @0itu diangkut ke sel di bawah bagian atas @0. Itu tanah di /\, yang merupakan operator klon, itu menempatkan satu salinan marmer (literal) di sebelah kiri (kembali di portal) dan satu lagi di sebelah kanan. Coopy ini kemudian jatuh dari papan (karena ..merupakan sel kosong) dan dicetak ke STDOUT. Dalam pseudocode, ini akan diterjemahkan ke:

MB() {
    while(true) print '$'
}

Solusi yang lebih pendek tanpa rekursi tak terbatas 9

24
\\/\..

Yang ini terus-menerus melempar marmer di antara cloner dan deflector, meletakkan satu salinan di sel paling kanan, untuk dijatuhkan dari papan. Dalam pseudocode akan terlihat seperti:

MB() {
    List charlist = ['$'];
    while(true) {
        charlist.add(charlist[0];
        charlist.add(charlist[0];
        charlist.pop();
        print(charlist.pop());
        // Wait, what?
    }
}

catatan

The ..sel yang diperlukan pada dua papan terakhir sejak kelereng akan mendarat dari papan (dan dibuang) sebaliknya. Untuk bersenang-senang ekstra, Anda mengganti 24marmer dengan FFdan ..sel kosong dengan ??, yang mengubah marmer menjadi marmer antara 0 dan itu nilai saat ini sebelum menjatuhkannya. Coba tebak apa yang akan terlihat seperti pada STDOUT.

overactor
sumber
buat "/ \ / \" "\\ / \" Anda agar tidak menghasilkan marmer ekstra di tepi kiri? perbaikan murni estetika.
Sparr
@Parr, poin diambil, saya sudah mengedit posting.
overactor
5
Bukankah seharusnya solusi ini menjadi 25165824 byte (24MB)? ; P
HyperNeutrino
18

C, 23 karakter

Sejauh ini sedikit lebih pendek daripada jawaban C / C ++ terbaik. Mencetak garis kosong tanpa batas (tetapi jika dikompilasi tanpa optimasi, meluap tumpukan).

main(){main(puts(""));}
ugoren
sumber
1
22 karakter: putc(0)(atau 1, atau 2, ..., atau 9). Apakah itu akan berhasil?
CompuChip
@CompuChip, putcmembutuhkan 2 parameter.
ugoren
10
@tdbot, Perhatikan saja bahwa ini adalah jawaban yang diterima. Saya menghargai pujian itu, tetapi tidak bisa mengerti mengapa. Jelas ada jawaban yang lebih pendek
ugoren
@tbodt, bukan tdbot. ftfy
nyuszika7h
5
@ nyuszika7h, Dengan cara ini saya bisa menunjukkan betapa rendahnya saya, sambil berpegang pada 15 rep
ugoren
14

Python 3: 15, 17, atau 18 karakter

Jawaban mdeitrick lebih panjang dalam Python 3, yang menggantikan printpernyataan dengan pemanggilan fungsi (15 karakter):

while 1:print()

Ini tetap yang terpendek yang saya temukan di Python 3. Namun, ada beberapa cara yang lebih menarik untuk mencetak dalam loop tak terbatas yang hanya beberapa karakter lagi.

  • print()mengembalikan None, yang! = 9, menjadikannya loop tak terbatas; yang 8adalah no-op yang pengganti untuk pass(18 chars):

    while print()!=9:8
    
  • iter(print, 9)mendefinisikan iterable yang mengembalikan output print()sampai sama 9(yang tidak pernah terjadi). anymengkonsumsi input iterable mencari nilai sebenarnya, yang tidak pernah tiba karena print()selalu kembali None. (Anda juga bisa menggunakan setefek yang sama.)

    any(iter(print,9))
    
  • Atau, kita dapat konsumen iterable dengan menguji apakah mengandung 8(17 karakter):

    8in iter(print,9)
    
  • Atau, buka kemasannya menggunakan operator percikan :

    *_,=iter(print,9)
    
  • Cara paling aneh yang saya pikirkan adalah menggunakan penghancuran percikan di dalam pemanggilan fungsi function(*iterable),. Tampaknya Python mencoba untuk mengkonsumsi seluruh iterable sebelum bahkan mencoba pemanggilan fungsi — bahkan jika pemanggilan fungsi itu palsu. Ini berarti bahwa kita bahkan tidak memerlukan fungsi nyata, karena kesalahan jenis hanya akan dibuang setelah iterable habis (yaitu tidak pernah):

    8(*iter(print,9))
    
Siput mekanik
sumber
*iter(print,1),berfungsi dan hanya memiliki 15 karakter, tetapi tidak memakan banyak memori.
ivzem
14

piet - 3 kode

http://www.pietfiddle.net/img/auQXtFXATg.png?cs=15

Menghasilkan angka 1 yang tak terbatas

captncraig
sumber
14

x86 .COM Dapat Dieksekusi, 5 byte

ASCII char set output tak berujung

dalam hex:

40 CD 29 FF E6

dalam asm:

inc ax
int 0x29
jmp si

Penjelasan:

inc axmenambah register AX satu per satu. int 0x29adalah rutin "fast put char" dari MSDOS, yang hanya menampilkan nilai dalam AL (bagian rendah dari AX) dan memajukan kursor dengan satu. jmp siadalah cara yang aneh untuk melompat kembali ke atas, karena register SI adalah 0x100 pada hampir setiap sistem operasi mirip DOS, yang juga merupakan awal dari program .com;) Juga dimungkinkan untuk melakukan lompatan singkat, yang juga menggunakan 2 byte.

Sumber:

Nilai Mulai MSDOS

Sizecoding WIKI

HellMood
sumber
13

Bitxtreme , 0,25 byte

Representasi biner:

00

Dari dokumentasi:

Bit pertama dari setiap pasangan adalah penunjuk ke posisi memori yang menyimpan nilai untuk dikurangi dari akumulator. Hasilnya disimpan dalam posisi memori yang sama yang ditunjukkan oleh operan. Jika hasilnya negatif (bit berada dalam representasi komplemen dua) maka bit kedua dari pasangan akan ditambahkan ke PC saat ini, modulo 2.

Penghitung program dan akumulator diinisialisasi ke nol; kemudian, isi lokasi memori 0 dikurangi dari akumulator. Ini kebetulan 0, meninggalkan akumulator di nol. Karena tidak ada carry, bit kedua tidak ditambahkan ke penghitung program.

Penghitung program kemudian ditambahkan oleh 2 modulo 2, mengirimkannya kembali ke awal, dan menyebabkan loop tak terbatas. Pada setiap langkah, lokasi memori khusus 0 dimodifikasi, menyebabkan kontennya (a 0) ditulis ke output.

Dapat dikatakan bahwa program ini harus dinilai sebagai 1 byte, karena juru bahasa resmi di Python membutuhkan zero-padding. Namun, saya tidak berpikir zero-padding benar-benar kode .

lirtosiast
sumber
12

Ringkasan: Ruby - 9, Golfscript - 6,> <> - 2, Whitespace - 19, Perl - 2

Satu bahasa yang saya tahu, dan dua saya tidak pernah, pernah digunakan sebelumnya: D
EDIT: Perl satu tidak bekerja ketika saya menginstal Perl untuk mencobanya :(

Ruby, 9

loop{p 1}

Cukup cetak 1 pada garis yang terpisah secara terus menerus.

Juga, banyak alternatif:

loop{p''} # prints [ "" ]  on separate lines continually
loop{p p} # prints [ nil ] on separate lines continually

Solusi 10-char:

p 1while 1

Saya benar-benar terkejut bahwa saya bisa menghilangkan ruang antara yang pertama 1dan yang while, tetapi ternyata berhasil

Naskah Golf, 6

{1p}do

Program Golfscript pertama saya! : P

> <> ( Ikan ), 2

1n

Spasi , 19

lssslssstltlsslslsl

Di mana smewakili spasi, tmewakili tab, dan llinefeed.

Gagang pintu
sumber
11
Setiap kali seseorang mengetik kata-kata, "Saya tidak punya Perl," Tuhan membunuh anak kucing.
primo
2
@ primo: P Yah setidaknya sekarang saya lakukan.
Gagang Pintu
2
Ini kode golf. Harap buat satu jawaban per pengiriman.
JB
21
@rimo Bagus, aku benci kucing. Dan saya tidak punya Perl.
SQB
5
Program GS {1p}dohanya mencetak 1dan berhenti, karena do adalah urutan uji-pop yang berlanjut hanya jika benar. (Karena tidak ada input, stack pada awalnya "", yang, setelah exec 1p, muncul dan menguji false.) Hanya menambahkan dup akan bekerja, yaitu {1.p}do(pada 7 byte).
res
12

C, 25 24

main(){main(puts("1"));}
Rozuur
sumber
4
s/while/main/
ugoren
2
Saya tidak yakin bahwa ada pengecualian stackoverflow di C, tetapi sesuatu yang buruk akan terjadi ketika Anda kehabisan memori.
Ilya Gazman
9
Optimasi tailcall ftw.
Johannes Kuhn
4
@JohannesKuhn: itu bukan panggilan ekor. Jika sudah return main(puts("1"))maka itu akan menjadi panggilan ekor.
marinus
4
@psgivens. Dalam fungsi ca tanpa parameter apa pun dapat mengambil jumlah parameter apa pun. Hanya tanda tangan dari yang methodName(void)menerima parameter nol persis.
James Webster
12

> <> (Ikan) , 2

Cara kreatif untuk menggunakan kotak kode ikan yang tak terbatas:

"o

Karena pointer instruksi kembali ke awal baris setelah mencapai akhir, kode ini pada dasarnya dapat dibaca sebagai

"o"o

yang berarti 'membaca string "o" dan kemudian menampilkannya'.

Anda dapat menguji kodenya di sini

Thijs ter Haar
sumber
11

perl, 10 karakter

Inilah 10 solusi perl perl lainnya dengan beberapa pengorbanan yang berbeda. Secara khusus, itu tidak memerlukan flag -n atau input pengguna untuk memulai. Namun, itu tetap memakan memori ad infinitum.

warn;do$0

simpan ke file, jalankan file itu dan Anda mendapatkan mis:

Warning: something's wrong at /tmp/foo.pl line 1.
Warning: something's wrong at /tmp/foo.pl line 1.
Warning: something's wrong at /tmp/foo.pl line 1.
skibrianski
sumber
Tidak bisakah Anda memperpendek penggunaan ini say(yang selalu mencetak baris baru meskipun tidak dapat menemukan argumen dari mana pun) warn? (Ini membutuhkan pemilihan varian Perl modern menggunakan -M5.010, tetapi itu tidak dihitung terhadap jumlah karakter Anda.)
10

dc , 7

[pdx]dx

mencetak 'pdx \ n' berkali-kali.

res
sumber
10

VBA: 12

Audio adalah output, bukan?

do:beep:loop

Masukkan itu ke dalam file MS Office favorit rekan kerja 'favorit' yang didukung makro untuk 'kesenangan'!

Private Sub Workbook_Open()
    Do:Beep:Loop
End Sub

Poin bonus jika mereka menggunakan headphone.

Jester BIRU
sumber
Dang, aku sedang mencari jawaban untuk melihat apakah ada yang berpikir tentang mencetak bel char. +1
mbomb007
9

Seed , 4 byte

99 5

Cobalah online! Keluaran 11tanpa batas

Hasilkan Program Befunge-98 berikut:

[glzgx"Lz^v*M7TW!4:wi/l-[, s44~s;|Sa3zb|u<B/-&<Y a@=nN>Nc%}"gq!kCW $1{2hyzABRj*glr#z(@Zx@xT=>1'.b
/

Cobalah online!


Bagian yang relevan hanya ini:

[>1'.b
/

bmendorong 11ke tumpukan dan .mencetaknya. 1dan 49juga didorong ke tumpukan, tetapi tidak pernah dicetak.

Animasi menjalankan kode:

masukkan deskripsi gambar di sini

ovs
sumber
1
Bukankah ini pada akhirnya akan kehabisan memori jika nilai terus didorong ke stack tanpa muncul?
caird coinheringaahing
8

C, 26 25 24 (tanpa rekursi)

main(){for(;;puts(""));}

Mencetak '\n'karakter tanpa akhir . Ini adalah byte yang lebih panjang dari jawaban C terpendek, tetapi tidak bergantung pada pengoptimalan panggilan ekor untuk menghindari tumpahnya tumpukan.

Stuntddude
sumber
2
Anda dapat mencukur habis karakter dengan menggunakan for(;;)di tempatwhile(!
Alex Gittemeier
1
tidak !seperti itu terus keluaran\n
l4m2
7

R, 13 karakter

repeat cat(1)
plannapus
sumber
repeat cat(1)harus bekerja
Dason
@ Alasan kamu benar. Saya tidak tahu mengapa saya bersikeras menempatkan mereka setiap waktu.
plannapus
7

PowerShell 2.0: 17 11 8

Solusi awal saya:

while(1 -eq 1){1}

Terima kasih kepada res:

while(1){1}

Saya pikir Danko Durbić memiliki pemenang, di sini. Saya bahkan tidak yakin mengapa ini harus berhasil, tetapi itu berhasil dan saya tidak bisa memikirkan hal yang lebih pendek sejauh ini.

for(){1}
Iszi
sumber
1
Coba while(1){1}.
res
@res saya akan memangkasnya dengan dua while($true){1}tetapi solusi Anda pasti menang - saya lupa bahwa di PowerShell $true -eq 1. Posting itu sebagai jawaban, dan saya akan memberikan Anda suara.
Iszi
Silakan mengeditnya menjadi milik Anda, jika Anda mau.
res
6
Coba for(){1}.
Danko Durbić
@ DankoDurbić Bisakah Anda menjelaskan mengapa itu berhasil? Saya tidak mengerti. Sepertinya itu kesalahan saya.
Iszi