영원히 카운트


71

하나부터 시작하여 영원히 계산되는 프로그램을 작성하십시오.

규칙 :

  • 프로그램을 사용할 수없는 STDOUT경우 프로그램에 로그인 하거나 적절한 대안을 사용해야 STDOUT합니다.
  • 프로그램은 기능 또는 스 니펫이 아니라 실행 가능한 전체 프로그램이어야합니다.
  • 프로그램은 개행 문자, 공백, 탭 또는 쉼표 사이에 구분 문자가있는 각 숫자를 출력해야하지만 모든 숫자에 대해 일관성이 있어야합니다.
  • 각 숫자가 바이트 값으로 표시되는 단수 또는 기수 256 으로 10 진수로 숫자를 인쇄 할 수 있습니다 .
  • 프로그램은 문제가없고 합리적인 데스크톱 PC의 메모리가 부족하지 않은 상태 에서 최소한 2128 (포함) 까지 계산해야합니다 . 특히, 단항을 사용하는 경우 현재 숫자의 단항 표현을 메모리에 저장할 수 없습니다.
  • 일반적인 규칙과 달리이 과제보다 새로운 언어라도 언어 (또는 언어 버전)를 자유롭게 사용하십시오. 이 과제에 0 바이트 답변을 제출하기 위해 특별히 작성된 언어는 공정한 게임이지만 특별히 흥미롭지는 않습니다.

    제출물을 테스트하려면 통역사가 있어야합니다. 이전에 구현되지 않은 언어에 대해이 통역사를 직접 작성할 수 있습니다.

  • 이것은 가장 짧은 해결책으로 언어를 찾는 것이 아닙니다 (빈 프로그램이 트릭을 수행하는 곳이 있습니다)-이것은 모든 언어에서 가장 짧은 해결책을 찾는 것입니다. 따라서 답변이 수락 된 것으로 표시되지 않습니다.

목록

이 게시물의 맨 아래에있는 스택 스 니펫은 답변 a) 언어 당 가장 짧은 솔루션 목록으로, b) 전체 리더 보드로 카탈로그를 생성합니다.

답변이 표시되도록하려면 다음 마크 다운 템플릿을 사용하여 헤드 라인으로 답변을 시작하십시오.

## Language Name, N bytes

N제출물의 크기는 어디에 있습니까 ? 당신이 당신의 점수를 향상시킬 경우에, 당신은 할 수 있습니다 를 통해 눈에 띄는에 의해, 헤드 라인에 오래된 점수를 유지한다. 예를 들어 :

## Ruby, <s>104</s> <s>101</s> 96 bytes

헤더에 여러 숫자를 포함하려는 경우 (예 : 점수가 두 파일의 합계이거나 인터프리터 플래그 페널티를 별도로 나열하려는 경우) 실제 점수가 헤더 의 마지막 숫자 인지 확인하십시오 .

## Perl, 43 + 2 (-p flag) = 45 bytes

언어 이름을 링크로 만들면 스 니펫에 표시됩니다.

## [><>](http://esolangs.org/wiki/Fish), 121 bytes


29
나는 결합하는 방법을 잘 모르겠어요 사이에 분리 문자로 출력해야 각 번호베이스 (256)에 [...] 숫자를 인쇄 할 수 있습니다 .
Dennis

6
향후 문제를 해결 하기 위해 사람들이 답변을 게시하기 전에 이러한 세부 정보를 모두 정리할 수 있도록 샌드 박스를 추천 할 수 있습니까? :)
Martin Ender

3
@IlmariKaronen 시간 제한이 아니라 메모리 제한으로 해석합니다. 아마도 증분 당 시간 제한. 카운터를 2 ** 128-10으로 설정하고 마지막 10 단계를 수행하는 데 걸리는 시간을 확인하십시오.
Sparr

5
출력에서 선행 0을 가질 수 있습니까?
Paŭlo Ebermann

4
어이 !!! TI-89 (56b)에 대한 답변이 있지만 b / c를 게시 할 수 없습니다. 사이트를 처음 접했고 Rep 10+가 없습니다!
gregsdennis

답변:


63

미로 , 5 바이트

):
\!

♫ 코드의 IP는 빙글 빙글 간다

관련 지침 :

)       Increment top of stack (stack has infinite zeroes at bottom)
:       Duplicate top of stack
!       Output top of stack
\       Output newline

77
프로그램은 멈추지 않아서 슬프다.
Optimizer

7
@Optimizer def sad (실제로) :
YoYoYonnY

1
왜 이것이 4 바이트가 아닙니까?
Aurel Bílý

2
@ Aurel300 다섯 번째 바이트 사이이다 개행 :\
SP3000

@ Sp3000 아, 그렇습니다. 바보 나. :)
Aurel Bílý

46

> <> , 8 바이트

01+:nao!

단계 :

  • 스택에서 0을 누릅니다.
  • 상단 스택 요소에 1 추가
  • 상단 스택 요소 복제
  • 스택의 상단을 숫자로 출력
  • 개행 출력
  • 다음 명령을 감싸서 점프하여 2 단계로 이동하십시오 (11 단계).

(메모리 효율이 떨어지는 (따라서 유효하지 않은) 프로그램은 llnao입니다.)


66
기본적으로 "더하기 1!"을 읽는 코드 줄에 암묵적으로 조급히 요구되는 +1.
Janus Bahs Jacquet

24

하스켈, 21 바이트

main=mapM_ print[1..]

임의 정밀도 정수 및 무한리스트는 이것을 쉽게 만듭니다 :-)

운 좋게도 mapM_전주곡에 있습니다. 만약 그렇다면 Data.Traversable, 우리는 그것을 19 바이트로 축소 할 수도있었습니다 :

main=for_[1..]print

map / mapM 등을 일반화하는 기호가 없습니까?
JDługosz

@ JDługosz : 내가 아는
Bergi

아, sequence결과가 실제로 일어나기 위해서는 여전히 결과 가 필요하기 때문입니다 .
JDługosz

사이 [1..]에 쉼표가있는 모든 숫자를 인쇄하기 때문에 단순히 허용되지 않습니까? 또는 첫 번째 [나사를 모두 조였습니까?
Baconaro

@Baconaro : 그것은 목록이며 아무것도 인쇄하지 않습니다. GHCi는 repl에 용어를 입력하면 결과를 인쇄하지만 실행 가능한 프로그램은 아닙니다. 그리고 그렇습니다. 리딩 [도 허용되지 않습니다.
Bergi

23

Gol> <> , 3 바이트

P:N

단계 :

  • 맨 위 스택 요소에 1을 추가하십시오 (시작시 내재적 0 임).
  • 상단 스택 요소 복제
  • 스택의 상단을 숫자와 줄 바꿈으로 팝하여 출력
  • 줄 끝에 도달하면 1 단계로 감 쌉니다.

21

놀라운 , 11450 4632 바이트

소수점을 인쇄하는 것은 고통입니다 !!

확실히 이것으로이기는 것은 아니지만, 나는 그것을 쏠 것이라고 생각했습니다. 출력을 40 0으로 채 웁니다 (2 ^ 128에 적합).

00@0..@1..@2..@3..@4..@5..@6..@7..@8..@9..@A..@B..@C..@D..@E..@F..@G..@H..@I..@J
\\++..00..00..00..00..00..00..00..00..00..00..00..00..00..00..00..00..00..00..00
..EhunEhunEhunEhunEhunEhunEhunEhunEhunEhunEhunEhunEhunEhunEhunEhunEhunEhunEhunEhun
....AddtAddtAddtAddtAddtAddtAddtAddtAddtAddtAddtAddtAddtAddtAddtAddtAddtAddtAddt
..&7..&7..&7..&7..&7..&7..&7..&7..&7..&7..&7..&7..&7..&7..&7..&7..&7..&7..&7..&7\/
../\&8..........................................................................
....@0..........................................................................
....../\&8......................................................................
....//..@1......................................................................
........../\&8..................................................................
......////..@2..................................................................
............../\&8..............................................................
........//////..@3..............................................................
................../\&8..........................................................
..........////////..@4..........................................................
....................../\&8......................................................
............//////////..@5......................................................
........................../\&8..................................................
..............////////////..@6..................................................
............................../\&8..............................................
................//////////////..@7..............................................
................................../\&8..........................................
..................////////////////..@8..........................................
....................................../\&8......................................
....................//////////////////..@9......................................
........................................../\&8..................................
......................////////////////////..@A..................................
............................................../\&8..............................
........................//////////////////////..@B..............................
................................................../\&8..........................
..........................////////////////////////..@C..........................
....................................................../\&8......................
............................//////////////////////////..@D......................
........................................................../\&8..................
..............................////////////////////////////..@E..................
............................................................../\&8..............
................................//////////////////////////////..@F..............
................................................................../\&8..........
..................................////////////////////////////////..@G..........
....................................................................../\&8......
....................................//////////////////////////////////..@H......
........................................................................../\&8..
......................................////////////////////////////////////..@I..
............................................................................../\&8
........................................//////////////////////////////////////..@J
&9&9&9&9&9&9&9&9&9&9&9&9&9&9&9&9&9&9&9&9
Sixteenbytedecimalprintermodulewitharegi

:Sixteenbytedecimalprintermodulewitharegi
}J}J}I}I}H}H}G}G}F}F}E}E}D}D}C}C}B}B}A}A}9}9}8}8}7}7}6}6}5}5}4}4}3}3}2}2}1}1}0}00A
/A%A/A%A/A%A/A%A/A%A/A%A/A%A/A%A/A%A/A%A/A%A/A%A/A%A/A%A/A%A/A%A/A%A/A%A/A%A/A%A
%A..%A..%A..%A..%A..%A..%A..%A..%A..%A..%A..%A..%A..%A..%A..%A..%A..%A..%A..%A..
+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O..
+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O+O..

:/A
..}0..}0..
..>>}0....
..>>>>\\..
....//..//
../\>>\\..
....>>..//
....>>\\..
....>>....
\\>>//....
..>>......
..>>......
../\......
..../\<<..
......<<..
..\\<<//..
....~~....
....++....
....\\..//
\\....>9\/
..\\..?0..
......++..
....\\....
......{0..

:%A
@0..
}0..
<A-A
{0@0

:Eg
}0}0}0}0}0}0}0}0
^7^6^5^4^3^2^1^0
~~....~~~~..~~~~
^0^0^0^0^0^0^0^0
{0{0{0{0{0{0{0{0

:Ehun
}0..}0
Eg..&0
=8&0{0
&1\/00
0100&0
&1&1{1
{1{0

:Addt
}0}1
{1{1

바이너리 인쇄가 더 짧을까요?
SuperJedi224

3
(또는 단항은 어떻습니까?)
손잡이

출력을 표시하는 @Doorknob은 문제가되지 않습니다. 그것은에 뭔가 Ehun다음 숫자를 증가하도록되어 보드,하지만 제대로 작동하지 않습니다
TheDoctor

1
모든 줄 끝에 마침표를 남기고 보드 사이에 빈 줄을 남기고 보드 이름에 단일 문자를 사용할 수 있다는 것을 알고 있습니까? 해당 단일 문자를 호출 할 적절한 시간 동안 반복해야합니다. 이렇게하면 약 3000 바이트로 답변을 얻을 수 있습니다.
overactor

결국 나는 그가 모두 포함 marbelous.py 커밋 밀어거야 include/기본적으로
Sparr

18

C (64 비트 아키텍처 만 해당), 53 바이트

64 비트 이상의 포인터에 의존하고 %p지정자를 사용하여 16 진수로 인쇄 합니다. 프로그램은 2 ^ 128에 도달하면 바로 리턴됩니다.

char*a,*b;main(){for(;++b||++a;)printf("%p%p ",a,b);}

1
따라서 해당 포인터가 각 64 비트에 있다면 2 ^ 128-1까지만 계산할 수 있습니다.
flawr

6
2 ^ 128까지 셀 수 없음
edc65

14
나는 창의력을 표현하고 보상하는 것에 관한 CodeGolf를 좋아합니다. feersum은 분명히 승리를 위해 경쟁하지 않습니다. 기술에 대한 많은 다운 보트를보고 질문의 문구를 수정하여 그의 대답이 위반되는 것을 확인하는 것은 저를 슬프게합니다.
flodel

3
나는 "적어도 2 ^ 128까지"라는 단어가 충분히 명확하다고 생각했습니다.
vrwim 1

5
@vrwim 당신은 그것을 쓰지 않았습니다. "2 ^ 128까지"를 썼습니다. SuperJedi는 몇 분 전에 편집했습니다.
feersum

17

헥사 고니 , 12 11 10 7 바이트

코드를 측면 길이 2에 맞추는 alephalpha 덕분입니다.

10})!';

펼쳐진 :

 1 0
} ) !
 ' ;

이것은 매우 간단합니다. 1010, 즉 라인 피드를 초기 메모리 에지에 씁니다. 그런 다음 })!';루프에서 반복적으로 실행됩니다.

  • } 다음 메모리 가장자리로 이동하십시오.
  • ) 그것을 증가 시키십시오.
  • ! 정수로 인쇄하십시오.
  • ' 10으로 돌아갑니다.
  • ; 문자로 인쇄하십시오.

나는 이것이 최적이라고 생각합니다 (아직 독특하지는 않지만). 내가 쓴 무력 스크립트하게 한 이 응답에 대한 이 적어도 하나의 각각 포함 할 것이라는 가정하에 6 바이트 솔루션에 대한 검색 ;!및 중 하나 (이상을 ), 그리고 포함되지 것 ?, ,또는 @, 그것은하지 않았다 해결책을 찾으십시오.


13

Pyth, 4 바이트

.V1b

설명:

.V1    for b in range(1 to infinity):
   b      print b

f!\n( TIO link )는 3 바이트 동안 작동하지만 응답 후에 추가 된 기능을 사용하고 있는지 확실하지 않습니다.
Sok

@Sok Clever. 그러나 f4 년 전 Pyth의 기능 이라고 생각하기 때문에 대답을 변경하지 않습니다 .
Jakube

나도 그렇게 생각했다. 그래서 나는 그것을 주석으로 남겨 두었다.-오래된 답변을 이길 수있는 새로운 언어 기능은 항상 저렴한 IMO를 느낀다
Sok

13

기원전, 10

for(;;)++i

비정상적인 bc것보다 짧습니다 dc.

보낸 사람 man bc:

기술

bc는 임의의 정밀도 숫자를 지원하는 언어입니다.


어디에서 인쇄합니까?
Bálint

@ Bálint ++i는 표현식이지만 할당은 아니며 명시 적으로 출력됩니다. 당신은 그것을 실행하려고 했습니까? echo 'for(;;)++i' | bc가장 가까운 Linux 터미널에서.
Digital Trauma

내 집에는 단일 Linux 터미널이 없습니다. 나는 단지 궁금했다.
Bálint

6
@ Bálint 모든 집에는 Linux 터미널이 있어야합니다.
Digital Trauma

1
@ Bálint이 프로그램을 실행하는 것은 당신의 사용입니다;)
Insane

12

자바, 139 138 127 123 바이트

class K{public static void main(String[]a){java.math.BigInteger b=null;for(b=b.ZERO;;)System.out.println(b=b.add(b.ONE));}}

2
자바에서 더 작은 무한 루프 for(;;)는 쉬운 3 바이트입니다.
ankh-morpork

BigInteger b=null;b=b.ZERO;슬프게도 =null필요하며, 정적 액세스라고 생각 하여 다른 2 개를 저장할 수도 있습니다.
TWiStErRob

그리고 다른 9 개 BigInteger는 FQCN에서 한 번만 참조하여 가져 오기를 제거 할 수 있기 때문 입니다.
TWiStErRob

@TWiStErRob 어떻게 든, 나는 그것이 더 짧을 것이라는 것을 깨닫지 못했습니다.
SuperJedi224

2
Java 8 이상에서는 클래스를 대체 하고 함수에서 interface제거 할 수 있습니다 public. 코드를 복사하여 새로운 답변으로 게시하고 싶지 않습니다.
Luca H

10

매스 매 티카, 22 바이트

i=0;While[Echo[++i]>0]

Echo Mathematica 10.3의 새로운 기능입니다.


Echo네 개의 분리 문자를 제공합니다 : newline plus ">> ". 이것이 유효한지 확실하지 않습니다 – Print대신 사용 하시겠습니까? 또한로 바이트를 저장하십시오 i=0;While[Echo@++i>0].
로마

7

루비, 15 12 바이트

loop{p$.+=1}
  • p, 정수가 주어지면 정수를 그대로 인쇄합니다 ( @philomory 제공 )
  • $.stdin에서 읽은 줄 수를 보유한 마법 변수입니다. 분명히 0으로 초기화되고 할당 가능합니다 :)

@philomory 일반적으로 사용자는 바이트 절약 솔루션을 제안하는 의견을 남기는 것이 좋습니다. 또한 이것에 대한 설명을보고 싶습니다. c :
애디슨 크럼프

7

파이썬 3, 33 25 바이트

내가 이해하는 한 파이썬 정수는 임의의 정밀도이며 print()자동으로 줄 바꿈을 생성합니다.

@Jakub 및 @ Sp3000 및 @wnnmaw에 감사드립니다! 나는 정말로 많은 파이썬을 모른다. 내가 아는 유일한 것은 그것이 임의의 크기의 정수를 지원한다는 것이다.

k=1
while 1:print(k);k+=1

1파이썬 (및 대부분의 다른 언어)에서 진실한 가치입니다. 그래서 while 1:충분하다.
Jakube

또한 while한 줄로 전체 를 넣을 수 있습니다
Sp3000

당신은 사용하여 바이트를 저장할 수 있습니다 repr(k)보다는 print(k). 또한 바이트 크기 를 25로 계산합니다 (제안 된 변경 사항 없음)
wnnmaw

1
repr대신 사용할 수 없습니다 print. repr아무것도 출력하지 않습니다. @wnnmaw
Zach 게이츠

그러면 무엇 repr을합니까?
flawr

6

처리 중 , 95 85 71 바이트

java.math.BigInteger i;{i=i.ZERO;}void draw(){println(i=i.add(i.ONE));}

while 루프를 사용하여 무언가를 시도했지만 모든 처리가 중단 되므로이 문제를 해결하겠습니다.

(제안을 받으려면 @ SuperJedi224 및 @TWiStErRob에게 감사합니다.)


공백은 무엇입니까? 나는 확실히 import java.math.*;BigInteger i=BigInteger.ZERO;void draw(){println(i=i.add(BigInteger.ONE));}작동 할 것이라고 확신 한다.
SuperJedi224

네, 방금 고 쳤어요
geokavel

처리를 허용 BigInteger.ONE으로 i.ONE?를 변경할 수 있습니까?
SuperJedi224

@ SuperJedi224 그렇습니다. 감사!
geokavel

좋아, 공감 해봐
SuperJedi224

6

Samau , 2 바이트

N)

설명:

N     push the infinite list [0 1 2 ...] onto the stack
 )    increase by 1

프로그램의 출력이리스트 인 경우, 가장 괄호는 생략됩니다.


목록이 모든 내용을 한 번에 인쇄하지 않습니까? 이 목록이 무한대 이면 메모리 나 화면에 맞지 않을 수 있으며 생성이 중지되지 않으므로 인쇄되지 않습니다.
cat

1
@cat Samau는 Haskell로 작성되었으며 게으르다 . 인쇄하기 전에 전체 목록을 생성하지 않습니다.
alephalpha

그냥 머리 위로. Samau의 GitHub 페이지에서 설명에 @"push"가 잘못되었습니다.
Carcigenicate

@Carcigenicate 감사합니다.
alephalpha

6

자바 스크립트 (ES6), 99 94 67 바이트

for(n=[i=0];;)(n[i]=-~n[i++]%10)&&alert([...n].reverse(i=0).join``)

alert는 일반적으로 STDOUTJavaScript와 동일하지만 사용하는 것은 연속 숫자가 자동으로 분리됨을 의미합니다. 이 때문에 숫자 뒤에 문자를 출력 할 필요가 없다고 가정했습니다.


12
이것이 팝업 차단기가있는 이유입니다.
Comintern

1
그냥 : : for (i = 0 ;;) alert (i ++) 나는 당신이 그 모든 컨트롤이 필요하다고 생각하지 않습니다
towc

3
@towc 작동하지 않습니다. 모든 숫자는 JavaScript에서 64 비트 부동 소수점이며 최대 안전 정수 값은 0 2^53이지만 질문은 최대로 올라갑니다 2^128.
user81655

1
오, 페어 포인트 ...
towc

5

Matlab, 132 바이트

a=0;while 1;b=a==9;n=find(cumsum(b)-(1:numel(b)),1);a(n)=a(n)+1;a(1:n-1)=0;if ~numel(n);a=[0*a,1];end;disp([a(end:-1:1)+'0','']);end

좋아, 이것이 사소한 내장 임의 크기 정수 없이이 작업을 수행 하는 첫 번째 심각한 대답 이라고 생각합니다 . 이 프로그램은 임의의 크기의 정수를 정수 배열로 구현합니다. 각 정수는 항상 0과 9 사이이므로 각 배열 요소는 하나의 10 진수를 나타냅니다. 예를 들어, 어레이 크기는 1 씩 증가합니다 999. 2^128길이 39의 배열 만 필요하므로 메모리 크기는 문제가되지 않습니다 .

a=0;
while 1
    b=a==9;
    %first number that is not maxed out
    n=find(cumsum(b)-(1:numel(b)),1);
    %increase that number, and sett all maxed out numbers to zero
    a(n)=a(n)+1; 
    a(1:n-1)=0;
    if ~numel(n) %if we maxed out all entries, add another digit
        a=[0*a,1];
    end    
    disp([a(end:-1:1)+'0',''])%print all digits
end

5

C ++, 146 (141) 138 바이트

표준 bigint 라이브러리를 사용하는 것이 아마도이 질문에 대답 하는 가장 지루한 방법 일지 모르지만 누군가는 그것을해야했습니다.

#include<stdio.h>
#include<boost/multiprecision/cpp_int.hpp>
int main(){for(boost::multiprecision::uint512_t i=1;;){printf("%u\n",i++);}}

언 골프 드 :

#include<cstdio>
#include<boost/multiprecision/cpp_int.hpp>

int main()
{
    for(boost::multiprecision::uint512_t i=1;;)
    {
        std::printf("%u\n", i++);
    }
}

골프 버전이 사용되는 이유 는 네임 스페이스 를 사용 stdio.h하지 않는 것 cstdio입니다 std::.

이것은 C ++에서 처음으로 골프를 치는 것입니다.이를 더 단축시킬 수있는 트릭이 있는지 알려주십시오.


어쩌면 당신 '\n'대신에 std::endl8 바이트를 절약 할 수 있습니다. 또한 CPP #define을 사용하여 반복을 압축하는 방법이있을 수 있습니다.
Kenney

@Kenney 감사합니다! (8 바이트가 아닌 5 바이트 만 절약합니다.)하지만 그 섹션을 더 짧게 조정할 수있는 방법을 생각해 냈습니다.
felixphew

나는 부스트를 알지 못하고 표준이라고 말하지는 않지만 기본적 i으로 0 값으로 구성 되지 않습니까? 그런 다음 정의를 해제하고 후행 증분을 사전 증분으로 전환하여 2b를 절약 할 수 있습니다.
Zereges

더 이상 사용되지 않는 것은 #import어떻습니까?
connectcharger

5

C 번호 .NET 4.0 111 103 102 97 바이트

class C{static void Main(){System.Numerics.BigInteger b=1;for(;;)System.Console.WriteLine(b++);}}

나는 여기서 C # 답변을 찾지 못했기 때문에 하나만 작성해야했습니다.

.NET 4.0은 BigInteger 를 포함하는 첫 번째 버전이므로 필수 입니다. 그래도 System.Numerics.dll 을 참조해야합니다 .

들여 쓰기

class C
{
    static void Main()
    {   
        System.Numerics.BigInteger b = 1;
        for (;;)
            System.Console.WriteLine(b++);
    }
}

sweerpotato, Kvam, Berend 덕분에 바이트를 절약했습니다.


class C{static void Main(){var b=System.Numerics.BigInteger.One;for(;;)System.Console.WriteLine(b++);}}: ~)로 8 바이트를 절약 할 수 있습니다 !
sweerpotato

1
b의 선언을 Console.WriteLine루프 구조로 class C{static void Main(){for(var b=System.Numerics.BigInteger.One;;Console.WriteLine(b++));}}
옮기십시오

여전히 필요합니다 System. 그래도 1 바이트를 절약 할 수 있습니다!
sweerpotato

그래, 당신 말이 맞아.
Kvam

using System;(13 바이트) 를 추가 하면 System.(7 바이트)를 두 번 제거하여 1 바이트를 절약 할 수 있습니다 .
Kenney

5

클로저, 17 바이트

(map prn (range))

게으른 시퀀스와 임의의 정밀 정수는 Haskell 및 CL과 같이 이것을 쉽게 만듭니다. prn형식 문자열을 인쇄 할 필요가 없으므로 몇 바이트를 절약합니다. doseq여기서 부작용만을 다루기 때문에 아마도 관용적 일 것입니다. (각 호출 의 반환 값인) map시퀀스를 생성하므로 사용하기에 적합하지 않습니다 .nilprn

내가 영원히 계산한다고 가정하면이 작업의 결과로 null 포인터 시퀀스가 ​​반환되지 않습니다.


4

MarioLANG , 11 바이트

+<
:"
>!
=#

다른 질문에 대한 Martin Büttner의 답변에서 영감을 얻었습니다 .


2 ^ 128에 문제없이 작동합니까?
flawr


@flawr MarioLANG에는 Ruby 인터프리터가 있으며 Ruby의 정수 유형에는 임의의 정밀도가 있습니다.
Martin Ender

@flawr 통역사에 따라 다릅니다. 내가 사용하는 인터프리터는 Ruby로 작성되었으며 임의의 정밀도를 지원합니다.
alephalpha

4

CJam, 7 바이트

0{)_p}h

설명:

0         e# Push a zero to the stack
 {        e# Start a block
  )         e# Increment top of stack
   _        e# Duplicate top of stack
    p       e# Print top of stack
     }    e# End block
      h   e# Do-while loop that leaves the condition on the stack

참고 : Java 인터프리터를 사용해야합니다.


4

C, 89 바이트

C의 새로운 접근 방식 (비트 단위 증가 기 구현) :

b[999],c,i;main(){for(;;)for(i=c=0,puts(b);i++<998;)putchar(48+(c?b[i]:(b[i]=c=!b[i])));}

덜 골프

int b[999], c, i;
main() {
  for(;;)
    for(i=c=0, puts(b); i++ < 998;)
      putchar(48 + (c ? b[i] : (b[i] = c = !b[i])));
}

끝내다

이 버전에는 약간의 결함이있어 종료되지 않습니다 (현재 요구 사항은 아님). 이렇게하려면 3자를 추가해야합니다.

b[129],c=1,i;main(){for(;c;)for(i=c=0,puts(b);i++<128;)putchar(48+(c?b[i]:(b[i]=c=!b[i])));}

4
실제로 종료해서는 안됩니다. 의 의미입니다forever
edc65

4

Foo , 6 바이트

(+1$i)

설명

(    )    Loop
 +1       Add one to current element
   $i     Output current element as a decimal integer

4

Minkolang , 4 바이트

1+dN

여기에서 시도하십시오. (실제로 조심해야합니다. 3 초의 실행 시간으로 최대 4 만 명에 달했습니다.)

1+스택 맨 위에 1을 더한 다음 d복제 N하여 맨 위에 공백이있는 정수로 스택 맨을 출력합니다. Minkolang이 환상 형이기 때문에 루프가 반복되므로 프로그램 카운터가 오른쪽 가장자리를 벗어나면 왼쪽에 다시 나타납니다.


4

인텔 8086+ 어셈블리, 19 바이트

68 00 b8 1f b9 08 00 31 ff f9 83 15 00 47 47 e2 f9 eb f1

분류는 다음과 같습니다.

68 00 b8                push   0xb800             # CGA video memory
1f                      pop    ds                 # data segment
b9 08 00           L1:  mov    cx, 8              # loop count
31 ff                   xor    di, di             # ds:di = address of number
f9                      stc                       # set carry
83 15 00           L2:  adc    word ptr [di], 0   # add with carry
47                      inc    di
47                      inc    di
e2 f9                   loop   L2
eb f1                   jmp    L1

좌측 상단 8 화면 위치에 128 비트 번호를 출력합니다. 각 화면 위치에는 8 비트 ASCII 문자와 2 개의 4 비트 색상이 있습니다.

참고 :이 주변에 래핑 (128) ; 단순히 변경 8에을 mov cx, 8위해 9심지어 144 비트 번호를 표시하거나 80*252까지의 숫자를 보여 32000 .

달리는

1.44MB bzip2 압축, base64 인코딩 부팅 플로피 이미지

다음을 복사하여 붙여 넣어 플로피 이미지를 생성하십시오.

QlpoOTFBWSZTWX9j1uwALTNvecBAAgCgAACAAgAAQAgAQAAAEABgEEggKKAAVDKGgAaZBFSMJgQa
fPsBBBFMciogikZcWgKIIprHJDS9ZFh2kUZ3QgggEEh/i7kinChIP7HrdgA=

이 명령 줄에 :

base64 -d | bunzip2 > floppy.img

예를 들어 qemu -fda floppy.img -boot a

1.8Mb 부팅 가능 ISO

base64로 인코딩 된 bzip2 압축 ISO 이미지입니다. 붙여 넣기하여 ISO 생성

QlpoOTFBWSZTWZxLYpUAAMN/2//fp/3WY/+oP//f4LvnjARo5AAQAGkAEBBKoijAApcDbNgWGgqa
mmyQPU0HqGCZDQB6mQ0wTQ0ZADQaAMmTaQBqekyEEwQaFA0AA0AxBoAAA9Q0GgNAGg40NDQ0A0Bi
BoDIAANNAA0AyAAABhFJNIJiPSmnpMQDJpp6nqeo0ZDQaAANB6IA0NAGj1EfIBbtMewRV0acjr8u
b8yz7cCM6gUUEbDKcCdYh4IIu9C6EIBehb8FVUgEtMIAuvACCiO7l2C0KFaFVABcpglEDCLmQqCA
LTCAQ5EgnwJLyfntUzNzcooggr6EnTje1SsFYLFNW/k+2BFABdH4c4vMy1et4ZjYii1FbDgpCcGl
mhZtl6zX+ky2GDOu3anJB0YtOv04YISUQ0JshGzAZ/3kORdb6BkTDZiYdBAoztZA1N3W0LJhITAI
2kSalUBQh60i3flrmBh7xv4TCMEHTIOM8lIurifMNJ2aXr0QUuLDvv6b9HkTQbKYVSohRPsTOGHi
isDdB+cODOsdh31Vy4bZL6mnTAVvQyMO08VoYYcRDC4nUaGGT7rpZy+J6ZxRb1b4lfdhtDmNwuzl
E3bZGU3JTdLNz1uEiRjud6oZ5kAwqwhYDok9xaVgf0m5jV4mmGcEagviVntDZOKGJeLjyY4ounyN
CWXXWpBPcwSfNOKm8yid4CuocONE1mNqbd1NtFQ9z9YLg2cSsGQV5G3EhhMXKLVC2c9qlqwLRlw4
8pp2QkMAMIhSZaSMS4hGb8Bgyrf4LMM5Su9ZnKoqELyQTaMAlqyQ3lzY7i6kjaGsHyAndc4iKVym
SEMxZGG8xOOOBmtNNiLOFECKHzEU2hJF7GERK8QuCekBUBdCCVx4SDO0x/vxSNk8gKrZg/o7UQ33
Fg0ad37mh/buZAbhiCIAeeDwUYjrZGV0GECBAr4QVYaP0PxP1TQZJjwT/EynlkfyKI6MWK/Gxf3H
V2MdlUQAWgx9z/i7kinChITiWxSo

으로

base64 -d bunzip2 > cdrom.iso

가상 머신이 부팅되도록 구성합니다.

도스 .COM

base64로 인코딩 된 DOS .COM 실행 파일입니다.

aAC4H7kIADH/+YMVAEdH4vnr8Q==

다음을 사용하여 .COM 파일 생성

/bin/echo -n aAC4H7kIADH/+YMVAEdH4vnr8Q== | base64 -d > COUNTUP.COM

(무료) DOS에서 실행하십시오.


4

, 34 32 30 28 26 23 바이트

-Mbigint -E '{say$_+=1;redo}'

로 테스트

perl -Mbigint -E '{say$_+=1;redo}'

당신은 대체 할 수 for(,,){...}와 함께 {...;redo}이틀 동안.
primo

그렇습니다 (Perl 5.18+). 그러나 속임수 일 것으로 생각했습니다. 대답은 같습니다. 난 여기 새로 왔어요 ;-)
Kenney

1
스칼라 참조는로 자동 활성화되며 SV UNDEF, 증가하면 BigInt과부하가 트리거 되지 않습니다 BigInt. 그러나 정수 리터럴은 BigInts 로 작성됩니다 . 그렇게 이상하지는 않다;)
primo

1
당신이 사용할 수있는 $-정수로 보관 및 사용으로 돌아가려면 ++$-?
Dom Hastings

1
@DomHastings 테스트 한 결과 1로 줄어 듭니다 perl -Mbigint -E '{say++$-;$-+=$-;redo}' | more. int는 유지되지만 bigint는 불행히도 들어 가지 않습니다.
Kenney

4

놀라운, 358 바이트

..@F..@E..@D..@C..@B..@A..@9..@8..@7..@6..@5..@4..@3..@2..@1..@001@Z01
..AddoAddoAddoAddoAddoAddoAddoAddoAddoAddoAddoAddoAddoAddoAddoAddo/\&I
00&I00&I00&I00&I00&I00&I00&I00&I00&I00&I00&I00&I00&I00&I00&I00&I....@Z
@FHd@EHd@DHd@CHd@BHd@AHd@9Hd@8Hd@7Hd@6Hd@5Hd@4Hd@3Hd@2Hd@1Hd@0Hd
0A@N
..&I
@N/\..
:Hd
}0
Hp
}0
..
{<
#include hex_out.mbl
#include arithmetic.mbl

16 개의 반가산기가 서로 연결되어 있으며, 가장 오른쪽은 각 사이클마다 N ++을 수행하고 각 가산기는 오버 플로우 (00 또는 01)를 다음 체인에 공급합니다. 출력은 16 진입니다.

파이썬 인터프리터에는 메모 된 함수의 출력이 손실되는 버그가 있으므로 제대로 작동하려면 "-m 0"으로이를 실행해야합니다. 해당 매개 변수가 없으면 버그없이 얼마나 빨리 실행 될지 알 수 있지만 출력이 제대로 작동하지 않습니다.

자체 참고 사항 : marbelous.py에서 해당 버그 수정이 버그는 marbelous.py 의 최신 버전에서 수정되었습니다.


4

R, 52 바이트

a=gmp::as.bigz(1);repeat{cat(paste(a,""));a=a+1}

(참고 : gmp외부 라이브러리이므로이 솔루션이 작동하려면 다운로드해야합니다.)


1
+1 ... 모든 엑스트라에 대해 죄송합니다. 당신에게 몇 가지를 다시 얻을 수 있습니다 a=gmp::as.bigz(0);repeat{cat(paste(a<-a+1,''))}. gmp다운로드가 필요할 수있는 외부 라이브러리 인 메모를 작성할 수 있습니다 .
MickyT


4

BotEngine, 128 120 112 8x13 = 104

v2 2 01
>e>S SS
   e1e1
   e2 e0 12
   > > S SS P
  ^   <e0e1 R
     ^ < <lC^
^         <

출력이 이진입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.