루비, ψ 0 (ψ X (ψ M + 1 (Ω M + 1 Ω M + 1 )) (0)) + 999663 포인트
내가 제대로 내 프로그램을 이해하고 가정 내 점수는 ψ입니다 0 (ψ X (ψ M + 1 (Ω M + 1 Ω M + 1 )) (0)) + 999,663 점 ψ이 기능을 붕괴 서수이다가, X는 카이입니다 기능 (Mahlo 붕괴 기능), M 은 최초의 Mahlo 'ordinal'입니다.
이 프로그램은 내가에 쓴 하나의 확장 TREE (3)보다 수가 더 큰 골프 와 완전히 압도 지금 여기에 다른 모든 솔루션을.
z=->x,k{f=->a,n,b=a,q=n{c,d,e=a;!c ?q:a==c ?a-1:e==0||e&&d==0?c:e ?[[c,d,f[e,n,b,q]],f[d,n,b,q],c]:n<1?9:!d ?[f[b,n-1],c]:c==0?n:[t=[f[c,n],d],n,d==0?n:[f[d,n,b,t]]]};x==0??p:(w="\\"*k+"\"";y="";(0..1.0/0).map{|g|y+="x=#{f[x,g]};puts x==0??p:"+w+"#{z[f[x,g],k*2+1]}"+w+";"};y)};h=-1;(0..1.0/0).map{|i|puts "puts \"#{z[[i,h=[h,h,h]],1]}\""}
온라인으로 사용해보십시오!
루비, ψ 0 (ψ I (I I )) + 999674 포인트
z=->x,k{f=->a,n,b=a{c,d,e,q=a;a==c ?a-1:e==0||d==0?(q ?[c]:c):e ?[[c,d,f[e,n,b],q],f[d,n,b],c,q]:[n<1?9:d&&c==0?[d]:d ?[f[c,n],d]:[f[b,n-1],f[c,n,b]],n,n]};x==0??p:(w="\\"*k+"\"";y="";(0..1.0/0).map{|g|y+="x=#{f[x,g]};puts(x==0??p:"+w+"#{z[f[x,g],k*2+1]}"+w+");"};y)};h=0;(0..1.0/0).map{|i|puts("puts(\"#{z[h=[h,h,h,0],1]}\")")}
온라인으로 사용해보십시오! (경고 : 명확하게 (0..1.0/0).map{...}
종료 할 수 없기 때문에 많은 작업을 수행하지 않습니다. 무한히 많은 프로그램을 인쇄하는 방법입니다.)
루비, ψ 0 (ψ I (0)) + 999697 점
z=->x,k{f=->a,n,b=a{c,d,e=a;a==c ?a-1:e==0||d==0?c:e ?[[c,d,f[e,n,b]],d-1,c]:[n<1?9:d&&c==0?[d]:d ?[f[c,n-1],d]:[f[b,n-=1],f[c,n,b]],n,n]};x==0??p:(w="\\"*k+"\"";y="";(0..1.0/0).map{|g|y+="x=#{f[x,g]};puts(x==0??p:"+w+"#{z[f[x,g],k*2+1]}"+w+");"};y)};h=0;(0..1.0/0).map{|i|h=[h];puts|i|puts("puts(\"#{z[hz[h=[h],1]}\")")}
온라인으로 사용해보십시오!
(0..5).map{...}
대신 구현하는보다 합리적인 테스트 프로그램 :
z=->x,k{f=->a,n,b=a{c,d,e=a;a==c ?a-1:e==0||d==0?c:e ?[[c,d,f[e,n,b]],d-1,c]:[n<1?9:d&&c==0?[d]:d ?[f[c,n-1],d]:[f[b,n-=1],f[c,n,b]],n,n]};x==0??p:(w="\\"*k+"\"";y="";(0..5).map{|g|y+="x=#{f[x,g]};puts(x==0??p:"+w+"#{z[f[x,g],k*2+1]}"+w+");"};y)};h=0;(0..5).map{|i|h=[h];puts("puts(\"#{z[h,1]}\")")}
온라인으로 사용해보십시오!
불행하게도, 심지어와 함께 (1..1).map{...}
, 당신은 수 있도록이 프로그램을 찾을 매우 메모리를 많이. 즉, 출력 길이가 SCG (13)와 같은 것을 초과합니다.
더 간단한 프로그램을 사용하면 몇 가지 값을 고려할 수 있습니다.
a = value you want to enter in.
z=->x,k{f=->a,n,b=a{c,d,e=a;a==c ?a-1:e==0||d==0?c:e ?[[c,d,f[e,n,b]],d-1,c]:[n<1?9:d&&c==0?[d]:d ?[f[c,n-1],d]:[f[b,n-=1],f[c,n,b]],n,n]};x==0??p:(w="\\"*k+"\"";y="x=#{f[x,k]};puts(x==0??p:"+w+"#{z[f[x,k],k*2+1]}"+w+");";y)};puts("puts(\"#{z[a,1]}\")")
온라인으로 사용해보십시오!
기본적으로 동일한 프로그램을 다음 형식으로 반복해서 인쇄합니다.
x=...;puts(x==0??p:"...");
초기화 x
된 프로그램은 프로그램과 관련된 서수를 기록하고 축소 된 "..."
후 프로그램을 보유합니다 x
. 인 경우 x==0
인쇄
p
이것은 0의 점수로 아무것도 인쇄하지 않는 프로그램입니다.
x=0;puts(x==0??p:"p");
점수가 1이고
x=1;puts(x==0??p:"x=0;puts(x==0??p:\"p\");");
점수가 2이고
x=2;puts(x==0??p:"x=1;puts(x==0??p:\"x=0;puts(x==0??p:\\\"p\\\");\");");
3 등의 점수를 가지며 내 원래 프로그램은 이러한 프로그램을 형식으로 인쇄합니다.
puts("...")
...
위에 나열된 프로그램은 어디에 있습니까 ?
내 실제 프로그램은 실제로 이러한 프로그램을 형식으로 인쇄합니다.
x=0;puts(x==0??p:"p;p;p;p;p;...");
시간, 같은 값에 대한 무한 많은 ω
, 그것은 유사한 무언가를
x=ω;puts(x==0??p:"(x=0 program); (x=1 program); (x=2 program); ...")
따라서 프로그램 점수
x=(some_ordinal);puts(x==0??p:"...")
이며 1+some_ordinal
점수
puts("x=(some_ordinal);puts(x==0??p:\"...\")")
이며 1+some_ordinal+1
점수
z=->x,k{f=->a,n,b=a{c,d,e=a;a==c ?a-1:e==0||d==0?c:e ?[[c,d,f[e,n,b]],d-1,c]:[n<1?9:d&&c==0?[d]:d ?[f[c,n-1],d]:[f[b,n-=1],f[c,n,b]],n,n]};x==0??p:(w="\\"*k+"\"";y="";(0..1.0/0).map{|g|y+="x=#{f[x,g]};puts(x==0??p:"+w+"#{z[f[x,g],k*2+1]}"+w+");"};y)};puts("puts(\"#{z[some_ordinal,1]}\")")
입니다 1+some_ordinal+2
.
서수 설명 :
f[a,n,b]
서수를 줄 a
입니다.
모든 자연수는 그 아래 자연수로 감소합니다.
f[k,n,b] = k-1
[c,0,e]
의 후속 버전이며 c
항상로 줄어 듭니다 c
.
f[[c,0,e],n,b] = c
[c,d,e]
거꾸로 연관성있는 하이퍼 오퍼레이션이며 다음과 같이 줄어 듭니다.
f[[c,d,0],n,b] = c
f[[c,d,e],n,b] = [[c,d,f[e,n,b]],f[d,n,b],c]
[0]
첫 번째 무한 서수 (ω에 해당)이며 다음과 같이 줄어 듭니다.
f[[0],0,b] = [9,0,0]
f[[0],n,b] = [n,n,n]
[c]
cth 오메가 서수이며 다음과 같이 줄어 듭니다.
f[[c],0,b] = [9,0,0]
f[[c],n,b] = [[f[b,n-1,b],f[c,n,b]],n,n]
Note the two-argument array here.
[c,d]
는 ψ d (c)이며 다음과 같이 줄어 듭니다.
f[[c,d],0,b] = [9,0,0]
f[[0,d],n,b] = [[d],n,n]
f[[c,d],n,b] = [[f[c,n,c],d],n,n]
[c,d,e,0]
은 후속 작업 대신 [c,d,e]
작업을 열거한다는 점을 제외하고 기본적으로와 동일 [c]
합니다.
f[[c,0,e,0],n,b] = [c]
f[[c,d,0,0],n,b] = [c]
f[[c,d,e,0],n,b] = [[c,d,f[e,n,b],0],f[d,n,b],c,0]