Ruby, ψ 0 (ψ X (ψ M + 1 (Ω M + 1 Ω M + 1 )) (0)) + 999663 คะแนน
สมมติว่าฉันเข้าใจโปรแกรมของฉันอย่างถูกต้องคะแนนของฉันคือψ 0 (ψ X (ψ M + 1 (Ω M + 1 Ω M + 1 )) (0)) +0,966,663 คะแนนโดยที่ψเป็นฟังก์ชันยุบตัวอันดับXคือไค ฟังก์ชั่น (ฟังก์ชั่นยุบ Mahlo) และMเป็น 'ลำดับ' Mahlo แรก
โปรแกรมนี้เป็นส่วนหนึ่งที่ผมเขียนเกี่ยวกับกอล์ฟเป็นจำนวนมากมีขนาดใหญ่กว่า 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]}\""}
ลองออนไลน์!
Ruby, ψ 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{...}
มันไม่สามารถยุติได้อย่างชัดเจนมันเป็นวิธีที่ฉันพิมพ์โปรแกรมมากมายเช่นกัน)
Ruby, ψ 0 (ψ I (0)) + 999697 points
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
ซึ่งเป็นโปรแกรมที่ไม่พิมพ์สิ่งใดด้วยคะแนนเป็นศูนย์ดังนั้น
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]
เป็น hyperoperation ที่สัมพันธ์กันแบบย้อนหลังซึ่งจะลดดังต่อไปนี้:
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 omega และลดดังนี้:
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]