आप में से कुछ लोग BigNum Bakeoff से परिचित हो सकते हैं , जो काफी दिलचस्प तरीके से समाप्त हुआ। लक्ष्य को कम या ज्यादा किया जा सकता है एक सी प्रोग्राम लिखने के रूप में, जो कुछ बाधाओं और सैद्धांतिक परिस्थितियों के तहत सबसे बड़ा होगा, जैसे कि एक कंप्यूटर जो प्रोग्राम चला सकता है।
उसी भावना में, मैं सभी भाषाओं के लिए एक समान चुनौती प्रस्तुत कर रहा हूं। शर्तें हैं:
अधिकतम 512 बाइट्स ।
अंतिम परिणाम STDOUT को मुद्रित किया जाना चाहिए। यह आपका स्कोर है। यदि कई पूर्णांक मुद्रित होते हैं, तो उन्हें संक्षिप्त किया जाएगा।
आउटपुट एक पूर्णांक होना चाहिए। (नोट: अनंत एक पूर्णांक नहीं है ।)
कोई अंतर्निर्मित स्थिरांक 10 से बड़ा नहीं है, लेकिन अंक / अंक ठीक हैं (उदाहरण के लिए एवोगैडरो की स्थिरांक (एक अंतर्निहित स्थिरांक के रूप में) अमान्य है, लेकिन 10000 नहीं है।)
कार्यक्रम को तब समाप्त किया जाना चाहिए जब उसे चलाने के लिए पर्याप्त संसाधन उपलब्ध कराए जाएं।
मुद्रित आउटपुट को नियतात्मक होना चाहिए, जब चलाने के लिए पर्याप्त संसाधन उपलब्ध कराए जाएं।
आपके कार्यक्रम को चलाने के लिए आपको बड़े पर्याप्त पूर्णांक या बड़े चिह्न प्रदान किए जाते हैं। उदाहरण के लिए, अपने कार्यक्रम 10 से छोटी संख्या के लिए बुनियादी आपरेशन लागू करने की आवश्यकता है 1000000 , तो आप कंप्यूटर इस कम से कम 10 नंबर संभाल कर सकते हैं चल रहा है मान सकते हैं 1000000 । (नोट: आपका प्रोग्राम एक ऐसे कंप्यूटर पर भी चलाया जा सकता है, जो १० २,०००,००० तक की संख्या को संभालता है , इसलिए केवल अधिकतम पूर्णांक को कंप्यूटर पर कॉल करने से नियतात्मक परिणाम प्राप्त नहीं होंगे।)
आपको अपने प्रोग्राम को 5 सेकंड से कम समय में निष्पादित करने के लिए पर्याप्त कंप्यूटिंग शक्ति प्रदान की जाती है। (इसलिए चिंता न करें कि आपका प्रोग्राम आपके कंप्यूटर पर एक घंटे से चल रहा है और जल्द ही कभी भी समाप्त नहीं होगा।)
कोई बाहरी संसाधन नहीं है, इसलिए उस एकरमैन फ़ंक्शन को आयात करने के बारे में न सोचें जब तक कि यह एक अंतर्निहित न हो।
सभी जादुई वस्तुओं को एक उदार देवता से अस्थायी रूप से उधार लिया जा रहा है।
अज्ञात सीमा के साथ बहुत बड़ा
- स्टीवन एच , पायथ f 3 + B³F + 256 (256 26 )
जहां B whereF मूल अनुक्रम के साथ चर्च-क्लेन अध्यादेश है
B³F[n] = B³F(n), the Busy Beaver BrainF*** variant
B³F[x] = x, ω ≤ x < B³F
लीडरबोर्ड:
सीधे शब्दों में सुंदर कला , रूबी च ψ 0 (एक्स (Ω एम + एक्स (Ω एम + 1 Ω एम + 1 ) )) + 29 (9 9 9 )
स्टीवन एच , Pyth च ψ (Ω Ω ) + ω² + 183 (256 27! )
लीकी नून , अजगर 3 च ε 0 (9 9 9 )
fejfo , अजगर 3 च ω ω 6 (च ω ω 5 (9e999))
स्टीवन एच , अजगर 3 च ω ω + ω² (9 9 9 99 )
सिंपल ब्यूटीफुल आर्ट , रूबी एफ 35 + ३५ ( ९ ९९ ९ )
i .. , पायथन 2 , एफ 3 (एफ 3 (141))
कुछ साइड नोट्स:
यदि हम आपके स्कोर को सत्यापित नहीं कर सकते, तो हम इसे लीडरबोर्ड पर नहीं डाल सकते। इसलिए आप अपने कार्यक्रम को थोड़ा समझाने की अपेक्षा कर सकते हैं।
इसी तरह, अगर आपको समझ नहीं आ रहा है कि आपका नंबर कितना बड़ा है, तो अपने प्रोग्राम की व्याख्या करें और हम इसे पूरा करने की कोशिश करेंगे।
यदि आप लोडर के नंबर प्रकार के प्रोग्राम का उपयोग करते हैं , तो मैं आपको एक अलग श्रेणी में रखूंगा जिसे "अज्ञात सीमा के साथ बहुत बड़ा" कहा जाता है , क्योंकि लोडर की संख्या में तेजी से बढ़ते पदानुक्रम के संदर्भ में एक गैर-तुच्छ ऊपरी सीमा नहीं है। मानक 'मौलिक अनुक्रम।
नंबर तेजी से बढ़ते पदानुक्रम के माध्यम से क्रमबद्ध होंगे ।
उन लोगों के लिए जो वास्तव में बड़ी संख्या के लिए तेजी से बढ़ते पदानुक्रम का उपयोग करना सीखना चाहते हैं, मैं सिर्फ उसके लिए एक डिस्कॉर्ड सर्वर की मेजबानी कर रहा हूं । एक चैट रूम भी है: साधारणता ।
इसी तरह की चुनौतियां:
सबसे बड़ी संख्या प्रिंट करने योग्य
सबसे छोटा समाप्ति कार्यक्रम जिसका आउटपुट आकार ग्राहम की संख्या से अधिक है
उन लोगों के लिए जो कुछ सरल कार्यक्रमों को देखना चाहते हैं जो छोटे मूल्यों के लिए तेजी से बढ़ते पदानुक्रम का उत्पादन करते हैं, यहां वे हैं:
रूबी: तेजी से बढ़ती पदानुक्रम
#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}
आदि।
से जाने के f_x
लिए f_(x+1)
, हम एक लूप जोड़ते हैं n.times{...}
।
अन्यथा, हम पिछले सभी उदाहरणों के खिलाफ विकर्ण कर रहे हैं
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)
आदि।