로더의 숫자보다 큰 숫자의 골프


18

출력 크기가 Graham의 수를 초과 하고 골프가 TREE (3)보다 큰 수를 초과하는 최단 종료 프로그램에 대한 후속 조치로 새로운 도전을 제시합니다.

로더의 숫자는 매우 큰 숫자이며 설명하기가 어렵습니다 (유연한 목표를 가진 코드 골프 연습의 결과이기 때문에). 이 정의와 설명은 여기에 있지만, 자기 억제의 목적을 위해, 나뿐만 아니라이 게시물에 나중에 그것을 설명하려고합니다.

사용 된 Ralph Loader 알고리즘은 지금까지 기록 된 (계산 가능한) 알고리즘 중 가장 많은 수의 알고리즘 중 하나를 생성합니다! 실제로 로더의 숫자는 Googology Wiki에서 가장 큰 "계산 가능한"숫자입니다. ( "계산 가능한"숫자함으로써, 그들은 계산의 관점에서 정의 된 숫자를 의미한다.) 대답은 흥미로운 방법으로 로더의 수보다 큰 숫자를 생성하는 경우 수단 (즉, 그냥 로더의 수 + 1이 아닌) 것을 그건 당신이 아래로 갈 수있다 역사학! Loader 's number + 1 과 같은 것을 생산하는 프로그램 은 확실히이 질문에 대한 답이되고 경쟁자입니다. 명성을 기대하지 마십시오.

당신의 임무는 로더의 수보다 수를 생성하는 종료 프로그램을 만드는 것입니다. 이것은 이므로 가장 짧은 프로그램이 승리합니다!

  • 입력을 할 수 없습니다.
  • 프로그램은 결국 결정 론적으로 종료해야하지만 머신에 무한 메모리가 있다고 가정 할 수 있습니다.
  • 언어의 숫자 유형이 유한 값을 가질 수 있다고 가정 할 수 있지만 이것이 언어에서 정확히 어떻게 작동하는지 설명해야합니다 (예 : 부동 소수점의 정밀도는 정확합니까?)
    • 무한대는 출력으로 허용되지 않습니다.
    • 숫자 유형의 언더 플로에서 예외가 발생합니다. 감싸지 않습니다.
  • 로더 번호를 저장할 메모리가 충분한 컴퓨터가 없기 때문에 솔루션이 유효한지 확인하기 위해 숫자가 너무 큰 이유와 코드가없는 코드 버전에 대한 설명을 제공해야합니다.

다음은 로더 번호에 대한 설명입니다. 자세한 내용은 http://googology.wikia.com/wiki/Loader%27s_number 및 해당 링크를 참조하십시오. 특히, 로더 번호를 정확히 (정의 적으로) 생성하는 프로그램이 포함되어 있습니다.

구성의 미적분학 은 본질적으로 매우 특정한 속성을 가진 프로그래밍 언어입니다.

우선, 구문 상 유효한 모든 프로그램이 종료됩니다. 무한 루프가 없습니다. 이는 임의의 미적분학 구성 프로그램을 실행하면 프로그램이 중단되지 않기 때문에 매우 유용합니다. 문제는 이것이 건축 미적분이 튜링 완료가 아니라는 것을 의미합니다.

둘째로, 튜링 언어가 아닌 언어 중에서 가장 강력한 언어 중 하나입니다. 기본적으로 튜링 머신이 모든 입력에서 정지한다는 것을 증명할 수 있다면 시뮬레이션을 구성하는 미적분학에서 함수를 프로그래밍 할 수 있습니다. (이로 인해 멈춤을 확인할 수없는 정지 튜링 머신이 있기 때문에 튜링이 완료되지는 않습니다.)

로더 번호는 기본적으로 계산 미적분에 대한 바쁜 비버 번호이며 모든 coc 프로그램이 종료되므로 계산할 수 있습니다.

특히, loader.c는라는 함수를 정의합니다 D. 대략, D(x)미만의 모든 비트 열을 반복하고 x이를 coc 프로그램으로 해석하고 구문 상 유효한 것을 실행하며 결과 (비트 스트링도 됨)를 연결합니다. 이 연결을 반환합니다.

로더 번호는 D(D(D(D(D(99)))))입니다.

googolology 위키에서 읽을 수있는 코드 사본

int r, a;

P(y,x){return y- ~y<<x;}

Z(x){return r = x % 2 ? 0 : 1 + Z (x / 2 );}

L(x){return x/2 >> Z(x);}

S(v,y,c,t){
   int f = L(t);         
   int x = r;
   return f-2 ? f>2 ? f-v ? t-(f>v)*c : y : P(f,P(S(v,y,c,L(x)), S(v+2,t=S(4,13,-4,y),c,Z(x)))) : A(S(v,y,c,L(x)),S(v,y,c,Z(x)));
}

A(y,x){return L(y)-1 ? 5<<P(y,x) : S(4,x,4,Z(r));}

D(x) 
{
   int f;
   int d;
   int c=0;
   int t=7;
   int u=14;
   while(x&&D(x-1),(x/=2)%2&&(1)){
      d = L(L(D(x))),
      f = L(r),
      x = L(r),
      c - r||(L(u)||L(r)-f||(x/=2)%2&&(u=S(4,d,4, r),t=A(t,d)),f/2&(x/=2)%2&&(c=P(d,c),t=S(4,13,-4,t),u=S(4,13,-4,u))),
      c&&(x/=2)%2&&(t=P(~u&2|(x/=2)%2&&(u=1<<P(L(c),u)),P(L(c),t)),c=r)
      u/2&(x/=2)%2&&(c=P(t,c),u=S(4,13,-4,t),t=9);
    }
    return a = P( P( t, P( u, P( x, c)) ),a);
}

main(){return D(D(D(D(D(99)))));}

6
나는 TREE (3) 질문과의 유사성을 위해 이것을 하향 조정하지 말 것을 권고합니다. 로더의 수는 TREE (3)보다 너무 커서 새롭고 흥미로운 접근법이 필요합니다.
lirtosiast

2
@ fəˈnɛtɪk 글쎄, 로더의 숫자 + 1을 인쇄하는 것은 코드 골프 관점 에서 여전히 흥미 롭습니다 (예 : 원래 512 바이트를 이길 수 있습니까?) 구현하기가 쉬운 로더 번호의 자연적인 일반화도 있습니다 (예 : CoC 대신 ZFC). 또한, Greedy 도당 시퀀스 또는 유한 약속 게임이 사용될 수 있습니다.
PyRulez

2
불행히도, 로더 번호의 구성을 이해하지 못하고 빠르게 성장하는 계층 구조에서 상한이 알려지지 않은 것처럼 여기에 좋은 대답을 줄 수는 없습니다. 나는 대부분의 대답은 욕심 파벌 시퀀스와 유한 약속 게임 ... 같은 로더의 번호 또는 물건 중 하나가 확장 될 것이라고 믿는다
간단하게 아름다운 예술

1
@SimplyBeautifulArt 오, 당신이 그것을 이해하지 못하면, 그것은이 도전에 잘 어울리지 않습니다. : PI는 채팅에서 더 자세히 설명하려고 시도 할 수 있지만 계층 상한도 알지 못합니다.
PyRulez

1
로더의 일정은 특별히 코드의 일정 금액에 의해 생성 된 가장 큰 숫자하려고 선택한 이후 특히 @SimplyBeautifulArt, (여기서 단지 수학적 흥미 번호에 그레이엄의 수와 TREE (3)과 같은 너무 일이 크게), I 대부분의 답변은 단지 로더의 수 + 1이 될 것이라고 생각
PyRulez

답변:


9

자바 스크립트, D ^ 6 (9) ( 508 501 495 492 487 485 481 바이트)

_='r=a=0,PN,yEx-~x<<y,ZNEr=x%2?0:1+ZC>>1@LNEx/2>>ZC@S=Bt,f=Ht@x=rEf-2?f>2?f-v?t-(f>v)*c:y:Ff,FSO(v+2,t8y@c,ZCMM:A(AOBZC)GAN,yELC)-1?5<<PC,y):Iy,4,Z(rGDN,f,dQ=0,t=7,u=14Eeval("whileC&&DC-1@61Md=HHDC)Gf=Hr@x=Hr@c-r||(Hu)||Hr)-f||6u=Id,4,r@t=A(t,dGfJdQ@t8t@u8u)Gc&&6t=F~u&2|6u=1<<FHc@uGFHc@tGc=r@uJtQ@u8t@t=9);a=FFt,Fu,PCQ)Ga)"@KKK9MMM6C>>=1)%2&&(8=I13,-4,G)@@),B(v,yQ,N=COBLCGSC(xE)=>J/2&6c=FFP(HL(IS(4,KD(D(M))Q,c';for(Y of $='QMKIHFJECONB@G86')with(_.split(Y))_=join(pop());eval(_)

이것은 인코딩 된 코드입니다.

_='r=a=0,PN,yEx-~x<<y,ZNEr=x%2?0:1+ZC>>1@LNEx/2>>ZC@S=Bt,f=Ht@x=rEf-2?f>2?f-v?t-(f>v)*c:y:Ff,FSO(v+2,t8y@c,ZCMM:A(AOBZC)GAN,yELC)-1?5<<PC,y):Iy,4,Z(rGDN,f,dQ=0,t=7,u=14Eeval("whileC&&DC-1@61Md=HHDC)Gf=Hr@x=Hr@c-r||(Hu)||Hr)-f||6u=Id,4,r@t=A(t,dGfJdQ@t8t@u8u)Gc&&6t=F~u&2|6u=1<<FHc@uGFHc@tGc=r@uJtQ@u8t@t=9);a=FFt,Fu,PCQ)Ga)"@KKK9MMM6C>>=1)%2&&(8=I13,-4,G)@@),B(v,yQ,N=COBLCGSC(xE)=>J/2&6c=FFP(HL(IS(4,KD(D(M))Q,c'; //encoded code
for(Y of $='QMKIHFJECONB@G86')with(_.split(Y))_=join(pop()); //decoding algorithm
eval(_) //Evaluation of the string

디코딩 된 코드 :

r=a=0,P=(x,y)=>x-~x<<y,Z=(x)=>r=x%2?0:1+Z(x>>1),L=(x)=>x/2>>Z(x),S=(v,y,c,t,f=L(t),x=r)=>f-2?f>2?f-v?t-(f>v)*c:y:P(f,P(S(v,y,c,L(x)),S(v+2,t=S(4,13,-4,y),c,Z(x)))):A(A(v,y,c,L(x)),S(v,y,c,Z(x))),A=(x,y)=>L(x)-1?5<<P(x,y):S(4,y,4,Z(r)),D=(x,f,d,c=0,t=7,u=14)=>eval("while(x&&D(x-1),(x>>=1)%2&&(1))d=L(L(D(x))),f=L(r),x=L(r),c-r||(L(u)||L(r)-f||(x>>=1)%2&&(u=S(4,d,4,r),t=A(t,d)),f/2&(x>>=1)%2&&(c=P(d,c),t=S(4,13,-4,t),u=S(4,13,-4,u))),c&&(x>>=1)%2&&(t=P(~u&2|(x>>=1)%2&&(u=1<<P(L(c),u)),P(L(c),t)),c=r),u/2&(x>>=1)%2&&(c=P(t,c),u=S(4,13,-4,t),t=9);a=P(P(t,P(u,P(x,c))),a)"),D(D(D(D(D(D(9))))))

디코딩되고 ungolfed 코드 (조건과 내용은 loader.c에서 유지됨) :

var r=a=0;
function P(y,x){
  return y-~y<<x;
}
function Z(x){
  return r=x%2?0:1+Z(x>>1);
}
function L(x){
  return x/2>>Z(x);
}
function S(v,y,c,t){
  var f=L(t),x=r;
  return f-2?
           f>2?
             f-v?
               t-(f>v)*c
               :y
             :P(f,P(S(v,y,c,L(x)),S(v+2,t=S(4,13,-4,y),c,Z(x))))
           :A(S(v,y,c,L(x)),S(v,y,c,Z(x)))
}
function A(y,x){
  return L(y)-1?
         5<<P(y,x):
         S(4,x,4,Z(r));
}
function D(x){
  var f,
      d,
      c=0,
      t=7,
      u=14;
  while(x&&D(x-1),(x>>=1)%2&&(1))
    d=L(L(D(x))),
    f=L(r),
    x=L(r),
    c-r||(
      L(u)||L(r)-f||
      (x>>=1)%2&&(
        u=S(4,d,4,r),t=A(t,d)
      ),
      f/2&(x>>=1)%2&&(
        c=P(d,c),
        t=S(4,13,-4,t),
        u=S(4,13,-4,u)
      )
    ),
    c&&(x>>=1)%2&&(
      t=P(
        ~u&2|(x>>=1)%2&&(
          u=1<<P(L(c),u)
        ),
        P(L(c),t)
      ),
      c=r
    ),
    u/2&(x>>=1)%2&&(
      c=P(t,c),
      u=S(4,13,-4,t),
      t=9
    );
  return a=P(P(t,P(u,P(x,c))),a)
};
D(D(D(D(D(D(9))))))

여기서는 다음과 같이 가정합니다.

  • 무한 콜 스택
  • 무한한 기억
  • 무한 정도 Number
  • 무한한 규모 Number
  • 비트 시프트 및 비트 연산자는 53 비트 대신 무한 비트 정수에서 작동합니다. 비트 단위 부정은 여전히 ​​부호 비트를 부정합니다.

인코딩 / 디코딩 알고리즘 :

인코딩은 다음과 같이 수행됩니다.

  • 반복되는 문자열을 가져와 S라고 부릅니다.
  • 코드의 모든 S를 키 K로 바꿉니다.
  • 끝에 K와 S를 넣습니다.
  • 키 목록을 만들고 코드가 실제로 실행되도록 디코딩 알고리즘을 넣습니다.

디코딩 알고리즘 :

  • 키 목록을 가져옵니다.
  • 가장 빠른 키 K를 사용하십시오.
  • 각 K의 문자열을 나눕니다.
  • 배열의 마지막은 KS를 대체 ​​할 항목이므로, 팝하고 배열을 팝된 값 S로 결합하여 모든 K를 대체하십시오.

이 코드로 압축이 완료되었습니다 . 마지막 상자 만 확인하십시오. 이것이 가장 큰 저장을 먼저 인코딩하기 때문에 가장 효율적인 압축은 아니지만 그렇게 작게 만드는 방법을 모르겠습니다.

자바 스크립트 (339 )

eval("_㴧爽愽〬偍ⱹ䕸⵾砼㱹ⱚ䵅爽砥㈿〺ㄫ婃㸾ㅀ䱍䕸⼲㸾婃䁓㵂琬昽䡴䁸㵲䕦ⴲ㽦㸲㽦⵶㽴⴨显瘩⩣㩹㩆昬䙓丨瘫㈬琸祀挬婃䭋㩁⡁乂婃⥇䅍ⱹ䕌䌩ⴱ㼵㰼偃ⱹ⤺匨㐬礬㐬娨片䑍ⱦⱤⱣ㴰ⱴ㴷Ⱶ㴱㑅敶慬⠢睨楬敃☦䑃ⴱ䀶ㅋ搽䡈䑃⥇昽䡲䁸㵈牀挭牼簨䡵⥼籈爩ⵦ籼㙵㵓⠴ⱤⰴⱲ䁴㵁⡴Ɽ䝦䥤Ᵽ䁴㡴䁵㡵⥇挦☶琽䙾甦㉼㙵㴱㰼䙈捀畇䙈捀瑇挽牀畉琬捀甸瑀琽㤩㭡㵆䙴ⱆ甬偃Ᵽ⥇愩≀䩊䨹䭋䬶䌾㸽ㄩ┲☦⠸㵓⠴ⰱ㌬ⴴⱇ⥀䀩ⱂ⡶ⱹⱣⱍ㵃乂䱃䝓䌨硅⤽㹉⼲☶挽䙆倨䡌⡊䐨䐨䬩⤧㭦潲⡙映␽❋䩈䙉䕃乍䉀䜸㘧⥷楴栨弮獰汩琨天⥟㵪潩渨灯瀨⤩㭥癡氨弩".split``.map(a=>(d=String.fromCharCode)((c=a.charCodeAt())>>8)+d(c&255)).join``.slice(1))

이 코드는 16 비트 문자열을 a로 가져와 동일한 이진수 (BE)를 가진 8 비트 문자열로 변환 eval합니다.

디코딩 된 코드는 상기 인코딩 된 코드이다.

그 증거 D ^ 6 (9)> D ^ 5 (99)

이를 위해 D (9)와 99를 비교합니다.

코드를 수동으로 실행하면 D (9)는 같고 (15*2^14849+1)*2^((15*2^14849+1)*2^((15*2^59+1)*2^((15*2^59+1)*2^((15*2^59+1)*2^((15*2^59+1)*2^((15*2^59+1)*2^((15*2^59+1)*2^((15*2^59+1)*2^((15*2^59+1)*2^((15*2^59+1)*2^((15*2^59+1)*2^((15*2^59+1)*2^((15*2^59+1)*2^((15*2^59+1)*2^((15*2^59+1)*2^((15*2^59+1)*2^((15*2^59+1)*2^((15*2^59+1)*2^((15*2^59+1)*2^((15*2^929+1)*2^((15*2^929+1)*2^((15*2^59+1)*2^((15*2^59+1)*2^((15*2^59+1)*2^((15*2^59+1)*2^((15*2^59+1)*2^((15*2^59+1)*2^((15*2^59+1)*2^((15*2^59+1)*2^((15*2^59+1)*2^((15*2^59+1)*2^(15*2^59+1))))))))))))))))))))))))))))))))D (0)도 같습니다 8646911284551352321.

따라서 D (9) >>> 99이고 D가 엄격하게 증가하기 때문에 D ^ 6 (9)> D ^ 5 (99)입니다.

  • 508B-> 501B, -7B
    • -1B for ... 나는 왜 그런지 모르겠다. 로 변경 D(D(D(D(D(99)))))했습니다 D(D(D(D(D(D(9)))))). 또한 그 편지를 섞었다.
    • 의 루프 조건 을 다시 추가 &&(1)하기위한 -6B D(x).
  • 501B-> 495B, -6B
    • 대부분의 고정 /2에들 >>1들 때문에Number
    • 어딘가에서 6 바이트 저장
    • 이 업데이트 내 시도를 볼 수 있습니다 여기에
  • 495-> 492B, -3B
    • 디코더에서 변경하여 for...infor...of.
  • 492-> 487B, -5B
    • 불필요한 할당 제거
    • 인수 이름 변경
  • 487-> 485B, -2B
    • evalfor 를 사용하여 1 바이트를 D제거했습니다 return.
    • 닫는 괄호를 쉼표로 결합한 1 바이트 압축.
  • 485-> 481B, -4B
    • 다른 부분 문자열을 압축합니다.

또는 99를 M9로 바꾸어 같은 길이로 쉽게 전달하면 D ^ 6 (9) 값이됩니다.
Naruyoko

0

파이썬 3 ^ D (6) (9) ( 608 (600) 599 바이트)

_='r=a=0?CM:#y-~y<<x?H6@r=0.EB1+HI)#r?Fx):#xI>>H)?8t6@TtNr#A(U8HG).f==2BCf,CUS(v+2,/yNc,HGG.f<2Bt-(f>v)*c.f-vBy?A(M:#5<<CM.Fy)-1BOx,4,Z(rG?Jx6,a@f=d=c=0@VW7,14@while 1:@.x:Jx-1)X~E:breakKd,TFJxGNFrNFr)@.c-r:K.not(Fu)or(Fr)-fGQ.E:WOd,4,rRA(Vd)K.fIQ.Yd,cR/t);W/u)@.c:@!.EQ q=~u&2|EK .q:W1<<CFuNu)K  Vc=Cq and u,CFcNtG,rXuI&YVc);W/tR9@a=CCVCu,Cx,cGNa)#a\nprint(JJJJJJ9GGG)X\n!if !  x=xIK#@return . if /O13,-4,6):@global r8S(v,y,c,?\ndef Q:K! K@ @\n B else CP(YE:c=CEx%2Tf,x=FFL(U8FxG,G))HZ(xI>>1JD(My,x)N),OS(4,R);t=Vt,Wu='
for Y in 'WVRONMJIHGUFTEYCB@KQ?86/.#!X':_=_.split(Y);_=_.pop().join(_)
exec(_)

이것은 인코딩 된 코드입니다. 추출 :

r=a=0
def P(y,x):
 return y-~y<<x
def Z(x):
 global r
 r=0 if x%2 else 1+Z(x>>1)
 return r
def L(x):
 return x>>1>>Z(x)
def S(v,y,c,t):
 global r
 f,x=L(t),r
 return A(S(v,y,c,L(x)),S(v,y,c,Z(x))) if f==2 else P(f,P(S(v,y,c,L(x)),S(v+2,S(4,13,-4,y),c,Z(x)))) if f<2 else t-(f>v)*c if f-v else y
def A(y,x):
 return 5<<P(y,x) if L(y)-1 else S(4,x,4,Z(r))
def D(x):
 global r,a
 f=d=c=0
 t,u=7,14
 while 1:
  if x:D(x-1)
  x=x>>1
  if ~x%2:break
  d,f,x=L(L(D(x))),L(r),L(r)
  if c-r:
   if not(L(u)or(L(r)-f)):
    x=x>>1
    if x%2:u=S(4,d,4,r);t=A(t,d)
   if f>>1:
    x=x>>1
    if x%2:c=P(d,c);t=S(4,13,-4,t);u=S(4,13,-4,u)
  if c:
   x=x>>1
   if x%2:
    x=x>>1
    q=~u&2|x%2
    if q:u=1<<P(L(u),u)
    t,c=P(q and u,P(L(c),t)),r
  x=x>>1
  if u>>1&x%2:c=P(t,c);u=S(4,13,-4,t);t=9
 a=P(P(t,P(u,P(x,c))),a)
 return a
print(D(D(D(D(D(D(9)))))))

여기서는 다음과 같이 가정합니다.

  • 무한 콜 스택
  • 무한한 기억

이것은 기본적으로 JavaScript 응답 의 포트입니다 . 자세한 내용은 해당 항목을 확인하십시오.

압축은 함께 이루어졌다 .

나는 파이썬에 대해 잘 알지 못하므로 바이트를 저장할 장소가 확실히 있습니다. 서브 600이 가능하다고 생각합니다. 600 이하가 입증되었습니다.

  • 608-> 600B, -8B
    • 과제를 그룹화
    • S괄호를 줄이기 위해 조건을 반전
  • 600-> 599B, ​​-1B
    • 변경 u/2의 정의의 세 번째 마지막 줄 Du>>1서로 문자로 압축에서 바이트를 저장, >>1의.

0

루비, D ^ 6 (9) (553 바이트)

_='F=$a=0TEK#y-~yUx.Z@#F=x%2G1?0R1+Z(x/2).L@#x/2>>Z@.8t)VHt);x=F#fG2?A(8L@C8Z@IRf>2?fGv ?yRt-(f>v ?1R0)*cREf,E8L@CS(v+2,t6yCc,Z@I).A(K#Hy)G1?Mx,4,Z(FIR5UEK.D@;$>UxVd=c=0;t=7;u=14;while[xNOx-1CB>0][1];d=HHD@IVW;x=W;cGF&&[Hu)G0&&WGf&&![u=Md,4,FCt=A(t,d)],fJd,cCt6tCu6u)]];cNB&&[t=E~u&2|!(u=1UEHcCu)CEHcCt)Cc=F];uJt,cCu6tCt=9]Q#$a=EEt,Eu,Ex,cIC$a)Q;$>UOOOOOO9III!BN#;return .QT6=M13,-4,8S(v,y,c,@(x)B(x/=2)%2C),J/2&![c=EEP(F$rNG0||G==WHF)HL(I))Ky,x)MS(4,OD(Q;endR: T;def U<<V;f=VUTRQOMKIHWGNFEJCB@86.#!'.each_char{|Y|_=_.split(Y);_=_.join(_.pop())};eval(_)

이것은 인코딩 된 코드입니다. 추출 :

$r=$a=0;def P(y,x);return y-~y<<x;end;def Z(x);return $r=x%2==1?0: 1+Z(x/2);end;def L(x);return x/2>>Z(x);end;def S(v,y,c,t);f=L(t);x=$r;return f==2?A(S(v,y,c,L(x)),S(v,y,c,Z(x))): f>2?f==v ?y: t-(f>v ?1: 0)*c: P(f,P(S(v,y,c,L(x)),S(v+2,t=S(4,13,-4,y),c,Z(x))));end;def A(y,x);return L(y)==1?S(4,x,4,Z($r)): 5<<P(y,x);end;def D(x);$><<x;f=d=c=0;t=7;u=14;while[x==0||D(x-1),(x/=2)%2>0][1];d=L(L(D(x)));f=L($r);x=L($r);c==$r&&[L(u)==0&&L($r)==f&&(x/=2)%2==0||[u=S(4,d,4,$r),t=A(t,d)],f/2&(x/=2)%2==0||[c=P(d,c),t=S(4,13,-4,t),u=S(4,13,-4,u)]];c==0||(x/=2)%2&&[t=P(~u&2|(x/=2)%2==0||(u=1<<P(L(c),u)),P(L(c),t)),c=$r];u/2&(x/=2)%2==0||[c=P(t,c),u=S(4,13,-4,t),t=9];end;return $a=P(P(t,P(u,P(x,c))),$a);end;$><<D(D(D(D(D(D(9))))))

이 코드는 D 6 의 로더 번호입니다 대신 (9) .

여기서는 다음과 같이 가정합니다.

  • 무한 콜 스택
  • 무한한 기억

이것은 기본적으로 JavaScript 답변Python 3 답변 의 포트입니다 . 자세한 내용은 확인하십시오.

압축이 함께 이루어졌다 (존재하지 않는로 나타날 수 있습니다).

저는 Ruby의 초보자이므로 512 세 미만이 가능하지만 의심합니다.

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