मथमेनिया स्पेक्स:
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
ऑपरेशन से पहले परिणाम का उत्पादन करें ?