Bazılarınız oldukça ilginç olan BigNum Bakeoff'u biliyor olabilirsiniz . Amaç, az çok, çıktıları en büyük olan bir C programı yazmak, örneğin programı çalıştırabilecek bir bilgisayar gibi bazı kısıtlamalar ve teorik koşullar altında özetlemek olarak özetlenebilir.
Aynı ruhla, tüm dillere benzer bir meydan okuma getiriyorum. Koşullar:
Maksimum 512 bayt .
Nihai sonuç STDOUT'a yazdırılmalıdır. Bu senin puanın. Birden fazla tam sayı yazdırılırsa, bunlar birleştirilecektir.
Çıktı bir tamsayı olmalıdır. (Not: Sonsuzluk bir tamsayı değildir .)
10'dan büyük yerleşik sabit yok, ancak sayılar / basamaklar iyi (örn. Avogadro sabiti (yerleşik bir sabit olarak) geçersiz, ancak 10000 değil).
Çalıştırılması için yeterli kaynak sağlandığında program sonlandırılmalıdır .
Çalıştırmak için yeterli kaynak sağlandığında, yazdırılan çıktı belirleyici olmalıdır .
Programınızın çalışması için size yeterince büyük tamsayılar veya büyük noktalar sağlanır. Örneğin, programınız 10 1.000.000'dan küçük sayılara temel işlemler uygulanmasını gerektiriyorsa , bunu çalıştıran bilgisayarın en az 10 1.000.000'a kadar sayıları işleyebileceğini varsayabilirsiniz . (Not: Programınız ayrıca 10.000.000'a kadar sayıları işleyen bir bilgisayarda da çalıştırılabilir , bu nedenle bilgisayarın işleyebileceği maksimum tamsayıyı çağırmak belirleyici sonuçlar doğurmaz.)
Programınızın 5 saniyeden kısa sürede tamamlanması için yeterli bilgi işlem gücü sağlanmıştır. (Bu nedenle, programınız bilgisayarınızda bir saattir çalışıyorsa ve yakında hiçbir zaman bitmeyecekse endişelenmeyin.)
Harici kaynak yok, bu yüzden yerleşik olmadığı sürece bu Ackermann işlevini içe aktarmayı düşünmeyin.
Tüm büyülü eşyalar geçici olarak cömert bir tanrıdan ödünç alınıyor.
Sınırı bilinmeyen aşırı büyük
- Steven H , Pyth f 3 + B³F + ω² (256 26 )
burada B³F, kilise-Kleene ordinalidir.
B³F[n] = B³F(n), the Busy Beaver BrainF*** variant
B³F[x] = x, ω ≤ x < B³F
Liderler Sıralaması:
Sade Güzel Sanatlar , Yakut f ψ 0 (X (Ω M + X (Ω M + 1 Ω M + 1 ) )) + 29 (9 9 9 )
Steven H , Pyth f ψ (Ω Ω ) + ω² + 183 (256 27! )
Sızdıran Rahibe , Python 3 f ε 0 (9 9 9 )
fejfo , Python 3 f ω ω 6 (f ω ω 5 (9e999))
Steven H , Python 3 f ω ω + ω² (9 9 9 99 )
Sade Güzel Sanatlar , Yakut f ω + 35 (9 9 99 )
i .. , Python 2 , f 3 (f 3 (141))
Bazı yan notlar:
Puanınızı doğrulayamazsak, skor tablosuna koyamayız. Yani programınızı biraz açıklamayı bekleyebilirsiniz.
Aynı şekilde, numaranızın ne kadar büyük olduğunu anlamadıysanız, programınızı açıklayın, biz de bunu çözmeye çalışacağız.
Eğer bir kullanırsanız Loader numaralı programı türünü aradım ayrı kategoride sizi yerleştiririz "bilinmeyen limitli Çok büyük" Loader numaralı üst 'için hızla büyüyen hiyerarşi açısından bağlı önemsiz olmayan bir olmadığı için, standart 'temel diziler.
Sayılar hızla büyüyen hiyerarşi ile sıralanacaktır .
Hızlı büyüyen hiyerarşiyi gerçekten çok büyük sayılara yaklaşık olarak nasıl kullanacağını öğrenmek isteyenler için, sadece bunun için bir Discord sunucusu barındırıyorum . Bir sohbet odası da var: Ordinality .
Benzer zorluklar:
Golf AĞAÇTAN büyük bir sayı (3)
Çıktı boyutu Graham'ın sayısını aşan en kısa sonlandırma programı
Küçük değerler için hızla büyüyen hiyerarşiyi çıkaran bazı basit programları görmek isteyenler için işte bunlar:
Ruby: hızlı büyüyen hiyerarşi
#f_0:
f=->n{n+=1}
#f_1:
f=->n{n.times{n+=1};n}
#f_2:
f=->n{n.times{n.times{n+=1}};n}
#f_3:
f=->n{n.times{n.times{n.times{n+=1}}};n}
#f_ω:
f=->n{eval("n.times{"*n+"n+=1"+"}"*n);n}
#f_(ω+1):
f=->n{n.times{eval("n.times{"*n+"n+=1"+"}"*n)};n}
#f_(ω+2):
f=->n{n.times{n.times{eval("n.times{"*n+"n+=1"+"}"*n)}};n}
#f_(ω+3):
f=->n{n.times{n.times{n.times{eval("n.times{"*n+"n+=1"+"}"*n)}}};n}
#f_(ω∙2) = f_(ω+ω):
f=->n{eval("n.times{"*n+"eval(\"n.times{\"*n+\"n+=1\"+\"}\"*n)"+"}"*n);n}
vb.
- arasında gitmek f_x
için f_(x+1)
,n.times{...}
.
Aksi takdirde, önceki tüm öğelere çaprazlama yaparız, ör.
f_ω(1) = f_1(1)
f_ω(2) = f_2(2)
f_ω(3) = f_3(3)
f_(ω+ω)(1) = f_(ω+1)(1)
f_(ω+ω)(2) = f_(ω+2)(2)
f_(ω+ω)(3) = f_(ω+3)(3)
vb.