मथमेनिया स्पेक्स:
Mathemania कोड का हर टुकड़ा नंबर से शुरू होता है 2। से 2, आप निम्न कार्य कर सकते हैं:
e: घातांक। इस कमांड का डिफॉल्ट नंबर स्क्वेर कर रहा है।f: कारक। यह कमांड का डिफॉल्ट नंबर (using f on 2 = 2! = 2) पर सिंगल फैक्टोरियल का उपयोग कर रहा है ।r: जड़। इस कमांड का डिफॉल्ट संख्या को वर्ग-मूल है।c: छत समारोह।l: मंजिल समारोह।
Mathemania में नंबर जेनरेट करने के लिए, आपको इन कमांड्स को एक साथ स्ट्रिंग करना होगा, जो नंबर पर लेफ्ट-टू-राइट की जाती हैं 2।
उदाहरण:
ef = (2^2)! = 4! = 24
rl = floor(sqrt(2)) = floor(1.4...) = 1
er = sqrt(2^2) = sqrt(4) = 2
efrrc = ceil(sqrt(sqrt((2^2)!)))
= ceil(sqrt(sqrt(24)))
= ceil(sqrt(4.89...))
= ceil(2.21...)
= 3
e, fऔर rआदेशों अतिरिक्त Mathemania आदेश (जो भी साथ शुरू द्वारा बदला जा सकता 2है अपने "आधार" संख्या के रूप में) बदल समारोह के बाद कोष्ठक रखने और इसके अंदर Mathemania आदेशों रखकर अलग exponentiations, factorials और जड़ों उत्पन्न करने के लिए।
उदाहरण के लिए, एक वर्ग को विभाजित करने के बजाय किसी संख्या को क्यूब करने के लिए, आप इस तरह से 3उसके लिए कमांड डाल सकते हैं e:
e(efrrc) -> cube a number, "efrrc" = 3
नोट: हमारे उद्देश्य के लिए, भाज्य कमांड ( f) 2एकल गुट के रूप में शुरू होता है । इसलिए यदि आप ऐसा करते हैं f(efrrc), तो एक दोहरे तथ्य का मूल्यांकन किया जाएगा, न कि एक तिहरे तथ्य पर।
के लिए n-factorials (जैसे डबल factorials = 2 भाज्य, ट्रिपल भाज्य = 3 भाज्य आदि), आधार संख्या संख्या है कि से गुणा किया जाता nहै कि यह कम से कम, और nहै कि कम से कम, और इतने पर जब तक अंतिम संख्या नहीं किया जा सकता nबनने 0या नकारात्मक होने के बिना घटाया ।
उदाहरण के लिए:
7!! = 7 * 5 * 3 * 1 = 105 (repeatedly subtract 2, 1 is the last term as
1 - 2 = -1, which is negative)
9!!! = 9 * 6 * 3 = 162 (repeatedly subtract 3, 3 is the last term as
3 - 3 = 0, which is 0)
अधिक जानकारी के लिए, यहाँ देखें ।
आप इसे कहीं भी सम्मिलित कर सकते हैं, और यह एक समारोह के रूप में मथेमानिया द्वारा इलाज करेगा:
e(efrrc)rc = ceil(sqrt(2^3))
= ceil(2.82...)
= 3
आपको एक दूसरे के अंदर ये घोंसला बनाने की भी अनुमति है:
e(e(e)) = e(4th power)
= (2^4)th power
= 16th power
Mathemania कोड के एक दुभाषिया के लिए, यहां क्लिक करें (चीयर्स, @ BradGilbertb2gills!)
कार्य:
आपका कार्य एक ऐसा प्रोग्राम बनाना है, nजिसे इनपुट के रूप में पॉजिटिव पूर्णांक दिए जाने पर , एक मैथेमेनिया प्रोग्राम उत्पन्न होता है, जिसे निष्पादित करते समय, रिटर्न देता है n।
हालाँकि, आपके द्वारा उत्पन्न Mathemania कार्यक्रम जितना संभव हो उतना छोटा (गोल्फ) होना चाहिए, और आपका अंतिम स्कोर नमूना के उत्पन्न Mathemania कार्यक्रमों में बाइट्स की संख्या से निर्धारित होता है, जो कि पूर्णांक 10,000हैं 10,100। सबसे कम स्कोर जीतता है।
नियम और चश्मा:
- आपके प्रोग्राम को किसी भी सकारात्मक पूर्णांक के लिए एक वैध Mathemania कार्यक्रम का उत्पादन करना चाहिए, लेकिन केवल संख्याओं के बीच
10,000और10,100परीक्षण किया जाएगा। - आपको मातमणिया कार्यक्रमों का उत्पादन करने की अनुमति नहीं है जो एक पूर्णांक में परिणाम नहीं देते हैं। यदि आप ऐसा करते हैं, तो आपका कार्यक्रम अयोग्य है।
- आदेशों के लिए
e,fऔरr, उन कार्यों के अंदर मैथेमेनिया कोड (जैसेe(efrrc), जहांefrrcफ़ंक्शन के अंदर कोड है) को ऊपर एक सकारात्मक पूर्णांक का मूल्यांकन करना चाहिए2। यदि आपका प्रोग्राम इस नियम का पालन नहीं करता है, तो यह अयोग्य भी है। - आपके प्रोग्राम को आधुनिक लैपटॉप पर अधिकतम 30 मिनट में 101 में से किसी भी एक परीक्षण पूर्णांक के लिए एक मैथेमेनिया कार्यक्रम वापस करना होगा।
- आपके प्रोग्राम को किसी भी पूर्णांक के लिए हर बार चलाने के बाद उसी समाधान को वापस करना होगा। उदाहरण के लिए, जब किसी प्रोग्राम को इनपुट दिया जाता है
5और वह आउटपुट करता हैefrc, तो उसे आउटपुट करना होगा कि हर बार इनपुट5दिया जाए। - आप किसी भी सकारात्मक पूर्णांक के लिए किसी भी समाधान को हार्ड-कोड नहीं कर सकते हैं।
- अपने आउटपुट में पूरी तरह से गोल्फिंग क्षमता को अधिकतम करने के लिए, आपके कार्यक्रम को मनमाने ढंग से बड़े पूर्णांकों को संभालने में सक्षम होना चाहिए। यदि आपकी भाषा इस का समर्थन नहीं करती है, तो यह अच्छी बात नहीं है।
यह मेटाफॉल्फ है , इसलिए सबसे कम स्कोर जीतता है!
efउदाहरण के लिए है, तो क्या कोड को "स्किप" करने की अनुमति है और efऑपरेशन से पहले परिणाम का उत्पादन करें ?