무한 출력을 생성하는 가장 짧은 코드


121

무한 출력을 생성 할 수있는 가장 짧은 코드를 작성하십시오.

그게 다야. 어떤 시점에서 출력 생성이 중지 된 경우에만 코드가 실격됩니다. 코드 골프에서 항상 그렇듯이 가장 짧은 코드가 승리합니다.

다음은 정말 영리하다고 생각되는 답변 목록입니다. 크레딧을 얻을 수 있습니다.

리더 보드


118
모든 답변은 지구가 태양을 삼켜됩니다 어떤 점에서 때문에 자격을 박탈하고, 어떤 시점에서 우주는 죽을 것이다 : P
문 손잡이

17
"컴퓨터가 충돌 할 때까지 무한"으로 계산됩니까? <_ <
Izkata

5
Piet으로 내 글을 쓰면 다른 프로그램에서 사용한 텍스트의 픽셀 수를 셀 수 있습니까? 가능한 가장 작은 반복 Piet 프로그램은 6 픽셀이라고 생각합니다. "off"픽셀이 여전히 카운트되면 Befunge를 능가합니다.
DampeS8N

9
@Izkata 따라서 귀하의 컴퓨터와 충돌하는 어떤 대답도 가능합니다 : D
ɐɔıʇǝɥʇuʎs

7
@Doorknob 따라서 도전 과제는 한정된 시간 내에 무한 출력을 생성하는 것입니다 . 충분히 쉬운 것 같습니다.
Sanchises

답변:


212

베 펀지 (1)

.

0영원히 출력 합니다. Befunge 줄이 줄 바꿈되어 0빈 스택 에서 튀어 나오면 작동합니다.


6
승자가 있다고 생각합니다.
primo

96
나는 여기에 더 짧은 어딘가에 자바 클래스가 있다고 맹세한다 . +1
l0b0

56
이 하나의 점은 이제 다음 두 가지 답변을 결합한 것보다 더 많은 명성을 얻었습니다.
marinus

3
Aw ... 그건 불공평하다 :) 이렇게하자 : 이미지의 크기를 몇 픽셀 씩 줄이고 아주 작게 표시합니다. 그래서 점처럼 보이나요? 그리고 심지어 전화? :)
Benjamin Podszun

4
이것이 왜 대답이 아닌가?
Claudiu

101

x86 .COM 실행 파일, 7

16 진수로 :

b8 21 0e cd 10 eb fc

나머지는 킬로바이트 이상의 시스템 라이브러리 및 런타임이 필요합니다. 기본으로 돌아 가기 :

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

산출

두 번째 바이트 ( 0x21또는 !)를 변경하여 출력을 변경할 수 있습니다.

출력을 위해 BIOS 인터럽트를 사용합니다. DOS는 필요하지 않지만 QEMU를 설정하지 않았습니다.


설명

기계어 코드는 다음 어셈블리와 일치합니다.

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

출력은 모두 int호출 중입니다. 이 참조 에 따라 AH에 0x0e가있는 int 0x10은 AL의 바이트를 화면에 인쇄합니다.

레지스터 AX가 상위 바이트의 AH와 하위 바이트의 AL로 구성된 16 비트 워드라는 것을 알면 함께로드하여 추가로드 (기계 코드의 바이트)를 절약 할 수 있습니다.


2
와. 정말 좋습니다
tbodt

46
기계 코드 길이가 낮 으면 고급 언어보다 더 많은 가치가 있어야합니다.
pwned

12
이것은 실제로 가장 짧은 코드입니다.
microbian

4
작동 할뿐만 아니라 다른 모든 항목보다 빠르게 작동 합니다. :)
Thane Brimhall

14
물론 어느 @ThaneBrimhall에 의해 가장 중요한 기준 까지 내 컴퓨터가 응답하지 않는 경우 무한 루프는 ..., 나는 그것이 가장 효율적인 방법으로 그것을 할 싶어!
kratenko

91

Windows 배치 파일, 2 자

%0

무한히 부름.


12
2 위를 닫으세요. 잘 했어. Batch가이긴 곳에서 단 하나의 답변 만 보았습니다.
unclemeat

정말 대단해 !!!
Qwertiy

대단해!
Patrick Purcell

작동 방식 : %0이 없기 @때문에 지속적으로을 출력합니다 ...> %0. 이것은 재귀 적이므로 언젠가 전체 RAM을 먹어 버릴 수도 있습니다.
Outgolfer Erik

2
@EriktheOutgolfer 수도 있습니까? 무한 재귀로 인해 어떤 시점에서 어떻게 충돌 하지 않습니까? 나는 이것이 어떻게 여러 시간 동안
진행될

68

빌 펀지 98-2

,"

영원을 위해 ",,,,,,,,,,"를 출력합니다.


2
실제로 다소 영리합니다.
tbodt

감사합니다. 이상하게도 ", 버전은 가장 일반적인 b98 구현을 사용하여 공백 (또는". 출력 32 32 32)을 출력합니다. 어디에서 왔는지 모르겠습니다.
AndoDaan

1
82,395에 실제로 묻힌 답이 너무 나쁘다.
tbodt

7
@tbodt 글쎄요, 사양에 따르면, 내 작은 프로그램은 영원 토록 길을 잃었습니다. 그래서 ... 손가락이 넘어 ...
AndoDaan

@AndoDaan : ", 쉼표와 INT_MAX-2 공백의 문자열을 만든 다음 마지막 공백을 인쇄합니다. 따라서 스택은 실제로 효율적이지 않은 쉼표 INT_MAX-3 공백으로 채워집니다.
YoYoYonnY

62

sh, 3 바이트

yes

y지속적으로 출력


10
비록 yes외부 바이너리, 그리고 떠들썩한 파티의 일부 (엄밀히 말하면)입니다.

55
bash에서 (거의) 모든 것이 외부 바이너리입니다.
Johannes Kuhn

5
일반적으로 별명 y=yes이 없으며 시스템이 난해하지 않은 경우 시스템에 있다고 가정 할 수 yes있습니다 $PATH( GNU 핵심 유틸리티 참조 ). 논리를 사용하면 모든 솔루션에 대해 별자리를 가정 할 수 있습니다.
klingt.net

5
그래,하지만이없는 경우에만bash 기능하십시오 I'ts POSIX 쉘 의 기본 부분 의 핵심 유틸 . (즉, sh : 3 문자로 제목을 변경하십시오 ;-)
F. Hauri

2
테크노 사우루스가 말했듯이, busybox에서는 내장되어 있지만 sh에서는 그렇지 않으므로 sh + coreutils를 대신 말해야합니다.
Outgolfer Erik

42

하스켈 : 8 자

오래된 실이지만 재미있는 것은

 fix show

하스켈에서는

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

기본적으로 실행되므로 영원히

 let x = show x in x

그것은 x문자열 이라는 것을 알고 있으므로 첫 번째 문자는 "이므로 이스케이프 처리 해야 \"하지만 이스케이프 처리 등 을 수행 \해야 한다는 것을 알고 있습니다 \\\x.


... 와. 이제 fix$show더 심미적 이었는지 궁금합니다 :-)
John Dvorak 5

7
이것이 필요 import Data.Function하고 인쇄하지 않고 문자열을 반환하기 때문에 문자 수의 공정성에 의문을 제기합니다. 또한 문자열은 실제로 "\"\\ "\\\\\\\"\\\\\\\\\\\\\\\ "\\\\\\\\\\\\\\입니다.
\\\\\\\\\\\\\\\\\\

36

Windows 배치 파일, 8 자

:a
goto a

1
이것은 무한한 출력을 생성하지 않습니다.
손잡이

38
그것은 @echo를 끄지 않고 그것을 닫을 때까지 "goto a"를 출력합니다
Patrick Purcell

11
우리 주위에 mor BAT가 필요합니다
Einacio

35
나는 10 자 수 : :a\r\ngoto aWindows가 CRLF를 사용하기 때문에
wchargin

1
@ WChargin 방금 16 진수 편집기를 사용하여 확인했습니다. 3a 61 0a 67 6f 74 6f 20내 창 8에서 작동 ... : P
YoYoYonnY

32

브레인 포트, 4

+[.]

또는

-[.]

8
인쇄 가능한 문자 도 \x01아닙니다 \xFF. 나는 그것이 요구 사항이 아니라고 생각한다 :-/
John Dvorak

인쇄 가능한 문자를 출력하는 방법은 +를로 바꾸는 것입니다. 이것은 입력이 필요하다는 것을 의미합니다.
Prismo

31

자바, 54 자

자바 베스트 시도 :

class A{static{for(int i=0;i<1;)System.out.print(1);}}

7
기능적이며 골프 규칙을 준수합니다. 왜 다운 보트인지 궁금합니다.
manatwork

14
자바는 고전적인 for(;;)패턴을 금지합니까 ? 무엇에 대해 while(true)?
코드 InChaos

17
@CodesInChaos, Java는 일반적으로 이러한 패턴을 허용하지 않으며 일반적으로 더 깨끗하고 관용적이라고 생각합니다. 여기서 우리는 컴파일러를지나 무한 루프를 몰아 내려고하지만 (이러한 형태는 컴파일러가 정적 {} 블록이 종료되지 않는다고 불평하게합니다).
Rich Smith

2
@Mechanicalsnail 예, 정적 블록은 Java 7부터 단독으로 실행할 수 없습니다.
Fabinout

1
@OliverNi 그러나 당신은 static블록을 사용할 수 없습니다 .
Okx

30

배쉬, 4 바이트

$0&$

./forever2.sh: line 1: $: command not found지속적으로 출력 합니다.

$0백그라운드 이기 때문에 각 부모는 잘못된 명령 이후에 죽 $으므로 스택 / 메모리는 소모되지 않으므로 무한정 계속되어야합니다.

이상하게도 시간이 지남에 따라 출력이 느려집니다. top시스템 CPU 사용량이 100 %에 가깝지만 메모리 또는 CPU- 호그 프로세스가 있다고보고합니다. 아마도 커널의 일부 리소스 할당은 점점 더 효율적이지 않습니다.


2
아마도 stdout 또는 이와 유사한 동작 일 것입니다.
masterX244

1
리소스를 확보하면 프로세스를 처리하는 프로세스와 경쟁하고 있습니다. PID를 변경하는 유일한 방법은 스크립트의 이름을 바꾸면 $0실패 하므로 프로세스를 중지 할 수 없습니다 .
Emmanuel

29

로코 코드 (36)

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

LOLCODE에 사진을 줄 것이라고 생각했지만 놀랍도록 많은 기능이 있습니다.


2
stdio에 대해 묻지 않아도됩니다.
cat

LOLCODE의 repl.it 버전에서는 필요하지 않습니다 HAIKTHXBYE
MilkyWay90

24

자바 스크립트 : 14

경고 : 당신은 정말로 당신의 브라우저에서 이것을 실행하고 싶지 않습니다

for(;;)alert()

31
"이 대화 상자가 더 이상 열리지 않도록하십시오"를 선택하십시오.
Johannes Kuhn

1
이를 확인하면 재부팅이 필요하지 않습니다 @JohannesKuhn
일리아 Gazman에게

8
또는 아무것도하지 않고 추가 출력을 표시하지 않습니다.
Johannes Kuhn

방금 실행 alert()하면이 오류가 발생합니다Error: Not enough arguments [nsIDOMWindow.alert]
Clyde Lobo

3
프로세스가 차단되고 휴머노이드 상호 작용까지 실행이 중단되면 실제로 무한한 출력입니까?
Morten Bergfall

24

튜링 머신-6 문자 :

#s->1Rs

여기서 #빈 기호 (기본적으로 테이프) s는 기존 (시작) 상태 만 설명하고 1숫자를 인쇄 R하고 오른쪽으로 이동하는 것을 의미 s합니다.


3
나는 7 문자를 계산!?
F. Hauri

9
어쩌면에서 가장 일반적인 5 튜플 표기법 이 단순히으로 기록 될 것이다 5s#1Rs(현재의 상태, 현재의 심볼, 심볼에 쓰기, 방향 간 이동, 다음 상태)를.
res

19

하스켈, 10

print[1..]

나는 이것이 가장 짧은 코드라고 생각한다.

  1. 무언가를 인쇄하십시오.
  2. 무한한 Show데이터 구조를 만듭니다 .

관심있는 사람들을 위해 다음을 인쇄합니다.

[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,...

4
매직 넘버 32를 멈출 이유가 있습니까?
ike

12
멋지고 둥글게 보였으며 다음 줄이 필요없이 코드 블록 공간을 채울 수있었습니다.
shiona

2
기계에 유한 한 양의 메모리가있는 경우 정수가 메모리에서 보유하기에 너무 커지면 종료 될 수 있습니까?
Jeppe Stig Nielsen

3
@JeppeStigNielsen 예. 그러나 1MB의 메모리를 채우는 정수는 2 ^ (2 ^ 20) 또는 약 6.7 * 10 ^ 315652입니다. 이를 기가 바이트 메모리로 늘리면 숫자는 거의 50 억 자릿수 인 2 ^ (2 ^ 30)이됩니다. 우리가 시리즈를 인쇄하려고 시도하면 메모리가 다 떨어지기 전에 우주의 열사병이 우리에게 닥칠 것이라고 확신합니다. 그리고 그 전에 HDD 고장 방식.
shiona

5
OP 아래의 의견에서 '컴퓨터가 충돌 할 때까지 무한'도 계산됩니다.
11684

19

놀라운 4

24MB

Marbelous는 여기서 놀랍습니다. 이것은 무한한 양의 달러 기호를 게시 $하지만 스택 한계에 빨리 도달합니다.

작동 방식

24는 언어 리터럴로 보드에서 떨어져 해당 ASCII 문자로 STDOUT에 인쇄됩니다. MB는 메인 보드에 내재적으로 부여 된 이름입니다. 메인 보드에는 입력이 없으므로 모든 틱이 발생합니다. 셀은 왼쪽에서 오른쪽으로 평가되므로 리터럴은 다음 재귀 호출 전에 항상 인쇄됩니다.

따라서 이것은이 의사 코드와 거의 동일합니다.

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

무한 재귀가없는 솔루션 11

24@0
@0/\..

이것은 두 개의 포털 사이에 리터럴을 반복하여 작동하는데 @0, 24는 더 낮을 때마다 @0아래의 셀로 전송됩니다 @0. 그것은 /\복제 연산자 인에 위치하며 대리석 (리터럴) 사본 하나를 왼쪽 (포탈 뒷면)에 놓고 다른 하나는 오른쪽에 놓습니다. 그런 다음이 coopy는 보드에서 떨어지고 ( ..빈 셀 이므로 ) STDOUT에 인쇄됩니다. 의사 코드에서는 다음과 같이 변환됩니다.

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

무한 재귀가없는 더 짧은 솔루션 9

24
\\/\..

이것은 복제기와 디플렉터 사이에 대리석을 끊임없이 던져 가장 오른쪽 셀에 하나의 사본을 놓고 보드에서 떨어 뜨립니다. 의사 코드에서는 다음과 같습니다.

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

노트

..구슬 그렇지 않으면 보드를 착륙 것 (및 폐기) 이후 세포는 마지막 두 보드에 필요하다. 약간의 추가 재미를 위해 24구슬을 기준으로 FF..셀 을 대체 하고를 사용하여 빈 셀을 ??0으로 대체합니다 . STDOUT에서 어떤 모습 일지 추측하십시오.


왼쪽 가장자리에 여분의 대리석이 생기지 않도록 "/ \ / \" "\\ / \"를 만드시겠습니까? 순전히 미학적 개선.
Sparr

@Sparr, 요점은 게시물을 편집했습니다.
overactor

5
이 솔루션은 25165824 바이트 (24MB)가 아니어야합니까? ; P
HyperNeutrino

18

C, 23 자

지금까지 최고의 C / C ++ 답변보다 약간 짧습니다. 빈 줄을 무한정 인쇄합니다 (그러나 최적화하지 않고 컴파일하면 스택이 오버플로됩니다).

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

1
22 자 : putc(0)(또는 1 또는 2, ... 또는 9). 작동할까요?
CompuChip

@CompuChip putc에는 2 개의 매개 변수가 필요합니다.
ugoren

10
@ tdbot, 이것이 허용되는 답변이라는 것을 알 수 있습니다. 칭찬에 감사하지만 그 이유를 이해할 수 없습니다. 분명히 더 짧은 대답이 있습니다
ugoren

@ tbodt, tdbot이 아닙니다. ftfy
nyuszika7 시간

5
@ nyuszika7h, 이렇게하면 15 담당자를 유지하면서 내가 얼마나 겸손했는지 보여줄 수 있습니다.
ugoren

14

Python 3:15, 17 또는 18 자

mdeitrick의 답변 은 Python 3에서 더 길며 print명령문을 함수 호출 (15 문자)로 바꿉니다 .

while 1:print()

이것은 파이썬 3에서 찾은 가장 짧은 것입니다. 그러나 무한 루프로 인쇄하는 몇 가지 더 재미있는 방법이 있습니다.

  • print()를 반환합니다 None.! = 9, 무한 루프가됩니다. 는 (18 자) 8를 대체하는 no-op입니다 pass.

    while print()!=9:8
    
  • iter(print, 9)print()같을 때까지 의 결과를 반환하는 iterable을 정의합니다 9. anyiterable 입력을 소비하여 true 값을 찾고 print()항상 반환하기 때문에 도착하지 않습니다 None. ( set같은 효과를 사용할 수도 있습니다 .)

    any(iter(print,9))
    
  • 또는 8(17 문자) 가 포함되어 있는지 테스트하여 iterable을 소비자로 사용할 수 있습니다 .

    8in iter(print,9)
    
  • 또는 splat 연산자를 사용하여 압축을 풉니 다 .

    *_,=iter(print,9)
    
  • 내가 생각한 가장 이상한 방법은 함수 호출 내부에서 splat destructuring을 사용하는 것 function(*iterable)입니다. 파이썬은 함수 호출이 가짜 일지라도 함수 호출을 시도하기 전에 전체 iterable을 소비하려고합니다. 이는 타입 오류가 iterable이 모두 소진 된 후에 만 ​​발생하기 때문에 실제 함수가 필요하지 않음을 의미합니다.

    8(*iter(print,9))
    

*iter(print,1),작동하고 15 자만 있지만 꽤 많은 메모리를 소비합니다.
ivzem


14

x86 .COM 실행 파일, 5 바이트

끝없는 ASCII 문자 세트 출력

16 진수로 :

40 CD 29 FF E6

asm으로 :

inc ax
int 0x29
jmp si

설명:

inc ax레지스터 AX를 1 씩 증가시킵니다. int 0x29MSDOS의 "fast put char"루틴으로, AL (AX의 낮은 부분)의 값을 출력하고 커서를 1 씩 전진시킵니다. jmp si거의 모든 DOS와 같은 운영 체제에서 레지스터 SI가 0x100이므로 .com 프로그램이 시작되는 위치이기 때문에 맨 위로 되돌아가는 이상한 방법입니다. 2 바이트를 사용합니다.

출처 :

MSDOS 시작 값

크기 코딩 위키


13

Bitxtreme , 0.25 바이트

이진 표현 :

00

설명서에서 :

각 쌍의 첫 번째 비트는 누산기에서 빼기위한 값을 보유하는 메모리 위치에 대한 포인터입니다. 결과는 피연산자가 가리키는 동일한 메모리 위치에 저장됩니다. 결과가 음수이면 (비트가 2의 보수 표시) 쌍의 두 번째 비트가 현재 PC 인 모듈로 2에 추가됩니다.

프로그램 카운터와 누산기는 0으로 초기화됩니다. 그 후, 메모리 위치 0의 내용이 누산기에서 감산된다. 이것은 0이되어 누산기가 0이됩니다. 캐리가 없으므로 두 번째 비트는 프로그램 카운터에 추가되지 않습니다.

그런 다음 프로그램 카운터는 2 모듈로 2 씩 증가하여 다시 시작으로 보내며 무한 루프가 발생합니다. 각 단계에서 특수 메모리 위치 0이 수정되어 해당 내용 (a 0)이 출력에 기록됩니다.

파이썬의 공식 인터프리터는 제로 패딩을 필요로하기 때문에이 프로그램은 1 바이트로 점수 매겨 져야한다고 주장 할 수 있습니다. 그러나 제로 패딩이 실제로 코드 라고 생각하지 않습니다 .


12

요약 : Ruby-9, Golfscript-6,> <>-2, 공백-19, Perl-2

내가 알고있는 한 가지 언어와 전에는 사용하지 않은 두 가지 언어 : D
EDIT : Perl을 설치하려고 시도했을 때 Perl이 작동하지 않았습니다.

루비, 9

loop{p 1}

연속적으로 별도의 줄에 1을 인쇄하기 만하면됩니다.

또한 많은 대안이 있습니다.

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

10 문자 솔루션 :

p 1while 1

실제로 첫 번째 1와 사이의 공간을 제거 할 수 있다는 사실에 놀랐지 while만 분명히 작동합니다.

골프 스크립트, 6

{1p}do

나의 첫번째 Golfscript 프로그램! :피

> <> ( 물고기 ), 2

1n

공백 , 19

lssslssstltlsslslsl

여기서 s공백을 t나타내고 탭과 l줄 바꿈을 나타냅니다 .


11
누군가가 "나는 펄이 없어"라는 단어를 타이핑 할 때마다 신은 고양이를 죽인다.
primo

2
@primo : P 적어도 지금은 그렇습니다.
Doorknob

2
이것은 코드 골프입니다. 제출 당 하나의 답변을 작성하십시오.
JB

21
@primo 좋아, 나는 고양이가 싫어. 그리고 나는 펄이 없다.
SQB

5
do는 exec-pop-test 시퀀스이므로 true를 테스트하는 경우에만 계속되므로 GS 프로그램 {1p}do은 인쇄 1및 종료 만합니다. (입력이 없기 때문에 스택은 처음 ""에이며, exec of exes 후 1p팝되고 거짓을 테스트합니다.) dup을 추가하는 것만으로도 {1.p}do(7 바이트) 작동합니다.
res

12

C, 25 24

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

4
s/while/main/
ugoren

2
C에 스택 오버플로 예외가 있는지 확실하지 않지만 메모리가 부족하면 나쁜 일이 발생합니다.
Ilya Gazman

9
테일 콜 최적화 ftw.
Johannes Kuhn

4
@JohannesKuhn : 그것은 꼬리 호출이 아닙니다. 그랬다면 return main(puts("1"))테일 콜이었을 것입니다.
marinus

4
@psgivens. ca 매개 변수없이 매개 변수를 사용할 수 있습니다. 서명 만 methodName(void)정확히 0 개의 매개 변수 를 허용합니다.
James Webster


11

펄, 10 자

여기에 다른 상충 관계가있는 또 다른 10 char perl 솔루션이 있습니다. 특히, -n 플래그 나 사용자 입력이 필요하지 않습니다. 그러나 메모리를 무한정으로 먹습니다.

warn;do$0

파일에 저장하고 해당 파일을 실행하면 다음과 같은 결과가 나타납니다.

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.

이것을 사용하여 더 짧게 만들 수는 없습니다 say(어디에서나 인수를 찾을 수없는 경우에도 항상 줄 바꿈을 인쇄합니다) warn? (이를 사용하려면 최신 Perl 변형을 선택해야 -M5.010하지만 캐릭터 수에는 포함되지 않습니다.)


10

VBA : 12

오디오가 출력됩니까?

do:beep:loop

'즐겨 찾기'동료가 가장 좋아하는 매크로 사용 MS 오피스 파일에 '재미있는'파일을 넣으십시오!

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

헤드폰을 사용하는 경우 보너스 포인트.


Dang, 나는 누군가가 아직 종 숯을 인쇄하는 것에 대해 생각했는지 알기 위해 답을 찾고있었습니다. +1
mbomb007

9

, 4 바이트

99 5

온라인으로 사용해보십시오! 11무한히 출력

다음과 같은 Befunge-98 프로그램을 생성합니다.

[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
/

온라인으로 사용해보십시오!


관련 부분은 다음과 같습니다.

[>1'.b
/

b11스택으로 밀고 .인쇄합니다. 1그리고 49또한 스택에 푸시, 실제로는 인쇄되지 않습니다.

코드 실행 애니메이션 :

여기에 이미지 설명을 입력하십시오


1
값이 팝되지 않고 스택에 계속 푸시되면 결국 메모리가 부족하지 않습니까?
caird coinheringaahing

8

C, 26 25 24 (재귀 없음)

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

끝없는 '\n'문자를 인쇄 합니다. 이것은 가장 짧은 C 응답보다 긴 바이트이지만 스택 오버플로를 피하기 위해 테일 콜 최적화에 의존하지 않습니다.


2
당신은 사용하여 문자를 면도 할 수 for(;;)대신에while(!
알렉스 Gittemeier

1
!출력이 계속 되지 않음\n
l4m2

7

R, 13 자

repeat cat(1)

repeat cat(1)작동해야 함
Dason

@Dason 네 말이 맞아 나는 왜 매번 넣어야하는지 모르겠다.
plannapus

7

PowerShell 2.0 : 17 11 8

내 초기 솔루션 :

while(1 -eq 1){1}

입술 덕분에 :

while(1){1}

Danko Durbić가 승자가 있다고 생각합니다. 왜 이것이 효과가 있을지 잘 모르겠지만 지금까지는 더 짧은 것을 생각할 수 없습니다.

for(){1}

1
시도하십시오 while(1){1}.
res

@res 나는 두 가지로 그것을 다듬을 while($true){1}것이지만 당신의 해결책은 확실히 이긴다-나는 PowerShell에서 그것을 잊었다 $true -eq 1. 답변으로 게시하면 투표하겠습니다.
Iszi

원하는 경우 자유롭게 편집하십시오.
res

6
시도하십시오 for(){1}.
Danko Durbić

@ DankoDurbić 작동 하는지 설명 할 수 있습니까 ? 나는 그것을 얻지 못한다. 나에게 오류가있는 것 같습니다.
Iszi
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.