परिचय:
एक 3x3x3 रूबिक के क्यूब में संभावित क्रमांकन हैं, जो लगभग 43 क्विंटल है । आपने पहले इस संख्या के बारे में सुना होगा, लेकिन वास्तव में इसकी गणना कैसे की जाती है?
एक 3x3x3 रूबिक के क्यूब में छह पक्ष हैं, प्रत्येक में नौ स्टिकर हैं। स्टिकर के बजाय (बाहरी) टुकड़ों को देखते हुए, हमारे पास छह केंद्र टुकड़े हैं; आठ कोनों के टुकड़े; और बारह किनारे टुकड़े। चूंकि केंद्रों को स्थानांतरित नहीं किया जा सकता है, इसलिए हम गणना में उन्हें अनदेखा कर सकते हैं। कोनों और किनारों के लिए:
- कर रहे हैं( ) आठ कोनों को व्यवस्थित करने के तरीके। प्रत्येक कोने में तीन संभव अभिविन्यास हैं, हालांकि केवल सात (आठ में से) स्वतंत्र रूप से उन्मुख हो सकते हैं; आठवें / अंतिम कोने का उन्मुखीकरण पूर्ववर्ती सात पर निर्भर करता है, ( ) संभावनाएं दी गई हैं।
- कर रहे हैं ( ) तरीके बारह किनारों की व्यवस्था करने की। से आधा हो गयाऐसा इसलिए है क्योंकि किनारों को हमेशा एक समान क्रम में होना चाहिए जब कोने हों। ग्यारह किनारों को स्वतंत्र रूप से फ़्लिप किया जा सकता है, पूर्ववर्ती ग्यारह के आधार पर बारहवें / अंतिम छोर के फ्लिप के साथ, ( ) संभावनाएं दी गई हैं।!००
इसे एक साथ रखकर, हमारे पास निम्नलिखित सूत्र हैं:
स्रोत: विकिपीडिया - रूबिक के घन क्रमपरिवर्तन
हालांकि यह पहले से ही बहुत जटिल लग सकता है, यह अभी भी एक 3x3x3 क्यूब के लिए सीधे-आगे है। यहां तक कि क्यूब्स के लिए सूत्र थोड़ा अलग है; यह उदाहरण के लिए 4x4x4 घन के लिए सूत्र है:
जो कि छोटे पैमाने पर लगभग 7.40 क्वैटुआर्डेसिलिन है ।
और बड़े NxNxN क्यूब्स के लिए (यानी वर्तमान विश्व रिकॉर्ड 33x33x33) सूत्र को थोड़ा बढ़ाया जाएगा। इस परिचय को बहुत लंबा नहीं बनाने के लिए, मैंने इन कड़ियों को यहां रखा, जहां 4x4x4 क्यूब और कुछ अन्य आकार के NxNxN क्यूब्स के क्रमपरिवर्तन को एक परिणामी सूत्र के साथ समझाया गया है:
आप अब तक सोच रहे होंगे: क्या किसी एक्स एक्स क्यूब के लिए पर आधारित एक सामान्य सूत्र है ? वहाँ निश्चित रूप से है। यहां तीन पूरी तरह से अलग एल्गोरिदम हैं, सभी आधार पर सटीक समान परिणाम दे रहे हैं :
1: क्रिस हार्डविक का फॉर्मूला:
2: क्रिस्टोफर मोवला का ट्रिगर फॉर्मूला:
3: क्रिस्टोफर मोवला के सूत्र फॉर्मूला:
जहां है ।
स्रोत: क्यूबर्स-रेडिट - गणितीय गणना, पदों की संख्या, भगवान की संख्या, आदि।
चुनौती:
इन तीन सूत्रों (या अपने स्वयं के व्युत्पन्न) में से एक को चुनें और कार्यान्वित करें, जिसने सीमा में एक इनपुट-पूर्णांक दिया , सही परिणाम का उत्पादन करता है।
चुनौती नियम:
- आप इन तीनों के अलावा किसी अन्य सूत्र का उपयोग करने के लिए स्वतंत्र हैं, लेकिन ध्यान रखें कि ये तीनों सही साबित होते हैं। यदि आप किसी अन्य सूत्र का उपयोग करते हैं, तो कृपया एक लिंक जोड़ें जहां से आपको यह मिला है (या यदि आप इसके साथ आते हैं तो अपने आप में एक गहराई से स्पष्टीकरण जोड़ते हैं)। और मैं रेंज में सभी पूर्णांकों के लिए जाँच करूँगा कि क्या आउटपुट सही है। शायद इस अनुक्रम के लिए ओईस में प्रेरणा पाई जा सकती है : A075152 ।
- यदि आपकी भाषा स्वचालित रूप से एक वैज्ञानिक आउटपुट (यानी 4x4x4 सूत्र के बाद की संख्या के बजाय) का उत्पादन करती है तो इसकी अनुमति है। लेकिन कृपया इस वैज्ञानिक गोलाई को एक सटीक आउटपुट में बदलने के लिए अपने उत्तर में अतिरिक्त कोड जोड़ें ताकि परिणामों को सत्यापित किया जा सके, क्योंकि आपके कोड में सूत्र के निष्पादन के दौरान फ़्लोटिंग पॉइंट परिशुद्धता के कारण त्रुटियों को गोल करने की अनुमति नहीं है - वास्तविक परिणाम होना चाहिए सटीक।
- आपका प्रोग्राम / फ़ंक्शन कम से कम इनपुट के लिए सीमा में सही होना चाहिए (हालांकि, बाद से पहले से ही एक विशाल-गधा संख्या में परिणाम होता है, कोई भी बड़ा संभवतः काम करेगा और यदि आप इसे आउटपुट करने में सक्षम हैं एक सही ढंग से)।
- आपको एक काउंटर के साथ सभी संभावित क्रमपरिवर्तन करने की अनुमति नहीं है, क्योंकि यह समय की उचित मात्रा में कुछ भी उत्पादन नहीं करेगा। केवल एक सूत्र का कार्यान्वयन (तीन में से एक प्रदान किया गया, उनमें से एक का व्युत्पन्न, या एक पूरी तरह से नया सूत्र), या एक अन्य विधि जो उचित परिणाम समय के बिना (कठिन-कोडिंग के बिना) सही परिणाम देगा ) की अनुमति है। मैंने इसे लागू करने के लिए एक प्रतिबंधित-समय को जोड़ने के बारे में सोचा , लेकिन मैं व्यक्तिगत रूप से कोड-गोल्फ के साथ संयोजन में प्रतिबंधित-समय के खिलाफ हूं , इसलिए मैं नहीं करूंगा। फिर भी, कृपया सुनिश्चित करें कि आपका कार्यक्रम उत्तर देता है, और यदि यह किसी कारण से TIO के लिए बहुत धीमा है, तो सत्यापन के रूप में अपने स्थानीय मशीन से आउटपुट के साथ कुछ स्क्रीनशॉट जोड़ें।
सामान्य नियम:
- यह कोड-गोल्फ है , इसलिए बाइट्स जीत में सबसे छोटा जवाब है।
कोड-गोल्फ भाषाओं को गैर-कोडगॉल्फिंग भाषाओं के साथ उत्तर पोस्ट करने से हतोत्साहित न करें। 'किसी भी' प्रोग्रामिंग भाषा के लिए यथासंभव संक्षिप्त उत्तर के साथ आने का प्रयास करें। - डिफ़ॉल्ट I / O नियमों के साथ आपके उत्तर के लिए मानक नियम लागू होते हैं , इसलिए आपको उचित पैरामीटर और रिटर्न-प्रकार, पूर्ण कार्यक्रमों के साथ STDIN / STDOUT, फ़ंक्शन / विधि का उपयोग करने की अनुमति है। तुम्हारा कॉल।
- डिफ़ॉल्ट ढीले निषिद्ध हैं।
- यदि संभव हो, तो कृपया अपने कोड (यानी TIO ) के लिए एक परीक्षण के साथ एक लिंक जोड़ें ।
- साथ ही, आपके उत्तर के लिए स्पष्टीकरण जोड़ने की अत्यधिक अनुशंसा की जाती है।
परीक्षण के मामलों:
यहाँ में परीक्षण के मामले (बड़े मामलों के लिए ऊपर दिए गए वुल्फरामाल्फा लिंक का उपयोग करने के लिए स्वतंत्र महसूस करें):
n=2
3674160
n=3
43252003274489856000
n=4
7401196841564901869874093974498574336000000000
n=5
282870942277741856536180333107150328293127731985672134721536000000000000000
n=6
157152858401024063281013959519483771508510790313968742344694684829502629887168573442107637760000000000000000000000000
n=7
19500551183731307835329126754019748794904992692043434567152132912323232706135469180065278712755853360682328551719137311299993600000000000000000000000000000000000
n=8
35173780923109452777509592367006557398539936328978098352427605879843998663990903628634874024098344287402504043608416113016679717941937308041012307368528117622006727311360000000000000000000000000000000000000000000000000
n=9
14170392390542612915246393916889970752732946384514830589276833655387444667609821068034079045039617216635075219765012566330942990302517903971787699783519265329288048603083134861573075573092224082416866010882486829056000000000000000000000000000000000000000000000000000000000000000
n=10
82983598512782362708769381780036344745129162094677382883567691311764021348095163778336143207042993152056079271030423741110902768732457008486832096777758106509177169197894747758859723340177608764906985646389382047319811227549112086753524742719830990076805422479380054016000000000000000000000000000000000000000000000000000000000000000000000000000000000
नोट: चूंकि यह एक कोड-गोल्फ चुनौती है, इसलिए यह मूल रूप से उबलता है: इन तीन सूत्रों में से एक को लागू करें (या एक व्युत्पन्न / आपकी खुद की विधि जो अभी भी सही परिणाम पैदा करती है) जितना संभव हो उतना कम।
floor