परिचय:
एक चर्चा से प्रेरित है जो पहले से ही अभिव्यक्ति बारे में कई वर्षों से चल रही है ।
अभिव्यक्ति के साथ , गणितज्ञों जल्दी से देखेंगे कि सही जवाब है , जबकि स्कूल से एक सरल गणित पृष्ठभूमि के साथ लोगों को जल्दी से देखेंगे कि सही जवाब है । तो यह विवाद कहां से है और इसलिए अलग-अलग उत्तर आए हैं? वहाँ कैसे में दो परस्पर विरोधी नियमों कर रहे हैं लिखा है। एक भाग के कारण
2(
, और एक विभाजन चिह्न के कारण÷
।हालांकि दोनों गणितज्ञों और 'आम जनता' का उपयोग करेगा PEMDAS (- Exponents - प्रभाग / गुणा - कोष्ठक जोड़ / घटाव), गणितज्ञों के लिए अभिव्यक्ति इस नीचे की तरह का मूल्यांकन किया जाता है, क्योंकि सिर्फ उदाहरण के लिए की तरह है एक एकपद उर्फ " जुक्सैसपोजिशन द्वारा निहित गुणन के कारण एक एकल शब्द " (और इसलिए इसका हिस्सा
P
हैPEMDAS
), जिसका मूल्यांकन (द्विपद उर्फ दो शब्दों) से अलग किया जाएगा :
जबकि 'सामान्य लोगों' के लिए, और समान होंगे (और इसलिए इसका हिस्सा है ), इसलिए वे इसके बजाय इसका उपयोग करेंगे:
MD
PEMDAS
हालांकि, हम के रूप में मूल अभिव्यक्ति लिखा है | भले ही , वहां अभी भी कुछ विवाद विभाजन प्रतीक के उपयोग के कारण हो सकता है ÷
। आधुनिक गणित में, /
और ÷
प्रतीकों का एक ही अर्थ होता है: विभाजित होना। कुछ नियम पूर्व-1918 † विभाजन प्रतीक के बारे में ÷
†† राज्य है कि यह विभाजन प्रतीक तुलना में एक अलग अर्थ था /
। इसका कारण यह है है ÷
मतलब है "के लिए इस्तेमाल किया दायीं ओर की संख्या / अभिव्यक्ति के साथ बायीं ओर की संख्या / अभिव्यक्ति विभाजित " ††† । तो तो, होगा या अभी। जो मामले मेंलोग पूर्व 1918 तक इस तरह से मूल्यांकन किया जाना होगा:
†: हालाँकि मैंने कई स्रोतों की व्याख्या करते हुए पाया ÷
है कि अतीत में कैसे इस्तेमाल किया गया था (नीचे, देखें), मैं 1918 के आसपास कहीं भी यह साबित करने में सक्षम साबित नहीं हो पाया। लेकिन इस चुनौती के लिए हम 1918 मान रहे थे। वह मोड़ जहां ÷
और
/
उसी चीज का मतलब शुरू होता है, जहां वे अतीत में भिन्न थे।
Have: अन्य प्रतीकों का उपयोग विभाजन के लिए अतीत में भी किया गया है, जैसे
:
कि 1633 में (या अब भी नीदरलैंड और अन्य यूरोपीय गैर-अंग्रेजी भाषी देशों में, क्योंकि यह वही है जो मैंने व्यक्तिगत रूप से प्राथमिक स्कूल xD में सीखा है) या)
में 1540 के दशक में। लेकिन इस चुनौती के लिए हम केवल ओबेलस प्रतीक के पूर्व 1918 अर्थ पर ध्यान केंद्रित करते हैं÷
।
:: स्रोत: सामान्य में यह लेख । और पूर्व 1918 के नियमों के बारे÷
में उल्लेख किया गया है: यह फरवरी 1917 से अमेरिकी गणितीय मासिक लेख ; 1659 पृष्ठ 9 और पृष्ठ 76 से जर्मन टट्सशे बीजगणित की पुस्तक ; यह एक प्रथम पुस्तक बीजगणित में1895 पृष्ठ 46 [48/189] से ।थोड़ा-सा ऑफ-टॉपिक: इस अभिव्यक्ति के बारे में वास्तविक चर्चा के बारे में: इसे कभी भी इस तरह से नहीं लिखना चाहिए! यदि प्रश्न अस्पष्ट है, तो सही उत्तर अप्रासंगिक है। * "क्लोज़ क्योंकि यह स्पष्ट नहीं है कि आप क्या पूछ रहे हैं" बटन पर क्लिक करता है ।
और रिकॉर्ड के लिए, कैसियो कैलकुलेटर के विभिन्न संस्करणों को भी नहीं पता कि इस अभिव्यक्ति के साथ ठीक से कैसे व्यवहार करें:
चुनौती:
आपको दो इनपुट दिए गए हैं:
- ए (वैध) गणितीय अभिव्यक्ति केवल प्रतीकों से युक्त है
0123456789+-×/÷()
- एक साल
और तुम उत्पादन गणितीय अभिव्यक्ति का परिणाम है, वर्ष के आधार पर (जहां ÷
अलग ढंग से प्रयोग किया जाता है जब , लेकिन वास्तव में के रूप में ही प्रयोग किया जाता है /
जब )।
चुनौती नियम:
- आप मान सकते हैं कि गणितीय अभिव्यक्ति वैध है और केवल प्रतीकों का उपयोग करता है
0123456789+-×/÷()
। इसका मतलब यह भी है कि आपको घातांक का सामना नहीं करना पड़ेगा। (तुम भी के लिए एक अलग प्रतीकों का उपयोग करने की अनुमति है×
या÷
(यानी*
या%
), यह गोल्फ में मदद करता है या अगर अपनी भाषा केवल ASCII समर्थन करता है तो।) - यदि आपको अभिव्यक्ति का (शायद मैनुअल) मूल्यांकन करने में मदद मिलती है, तो आपको इनपुट-एक्सप्रेशन में स्पेस-डेलिमिटर जोड़ने की अनुमति है।
- I / O लचीला है। इनपुट एक स्ट्रिंग, चरित्र-सरणी, आदि के रूप में हो सकता है। वर्ष पूर्णांक, दिनांक-ऑब्जेक्ट, स्ट्रिंग, आदि के रूप में हो सकता है। आउटपुट एक दशमलव संख्या होगी।
- आप मान सकते हैं कि 0 परीक्षण मामलों द्वारा कोई विभाजन नहीं होगा।
- आप मान सकते हैं कि इनपुट-एक्सप्रेशन में नंबर गैर-नकारात्मक होंगे (इसलिए आपको
-
नकारात्मक प्रतीक बनाम-
घटाव प्रतीक के रूप में विभेद करने से नहीं निपटना होगा )। उत्पादन अभी भी नकारात्मक हो सकता है! - आप मान सकते हैं
N(
कि हमेशा की तरह लिखाN×(
जाएगा। हम इस चुनौती में केवल विभाजन प्रतीकों/
बनाम के दूसरे विवाद पर ध्यान केंद्रित करेंगे÷
। - दशमलव आउटपुट-मान में कम से कम तीन दशमलव अंकों की सटीकता होनी चाहिए।
- इनपुट अभिव्यक्ति कई हों तो
÷
(यानी ) के साथ , वे इस तरह मूल्यांकन किया जाता है: । (या शब्दों में:संख्याअभिव्यक्ति से विभाजित है, जहां अभिव्यक्तिबारी साधन में नंबरसंख्या से विभाजित किया जाता है।) - ध्यान दें कि जिस तरह से
÷
काम करता है परोक्ष मतलब है इस पर ऑपरेटर पूर्वता है×
और/
(परीक्षण का मामला देख )। - आप मान सकते हैं कि इनपुट-ईयर सीमा ।
सामान्य नियम:
- यह कोड-गोल्फ है , इसलिए बाइट्स जीत में सबसे छोटा जवाब है।
कोड-गोल्फ भाषाओं को गैर-कोडगॉल्फिंग भाषाओं के साथ उत्तर पोस्ट करने से हतोत्साहित न करें। 'किसी भी' प्रोग्रामिंग भाषा के लिए यथासंभव संक्षिप्त उत्तर के साथ आने का प्रयास करें। - डिफ़ॉल्ट I / O नियमों के साथ आपके जवाब के लिए मानक नियम लागू होते हैं , इसलिए आपको उचित पैरामीटर और रिटर्न-प्रकार, पूर्ण कार्यक्रमों के साथ STDIN / STDOUT, फ़ंक्शन / विधि का उपयोग करने की अनुमति है। तुम्हारा कॉल।
- डिफ़ॉल्ट लूपोल्स निषिद्ध हैं।
- यदि संभव हो, तो कृपया अपने कोड (यानी TIO ) के लिए एक परीक्षण के साथ एक लिंक जोड़ें ।
- साथ ही, आपके उत्तर के लिए स्पष्टीकरण जोड़ने की अत्यधिक अनुशंसा की जाती है।
परीक्षण के मामलों:
Input-expression: Input-year: Output: Expression interpretation with parenthesis:
6÷2×(1+2) 2018 9 (6/2)×(1+2)
6÷2×(1+2) 1917 1 6/(2×(1+2))
9+6÷3-3+15/3 2000 13 ((9+(6/3))-3)+(15/3)
9+6÷3-3+15/3 1800 3 (9+6)/((3-3)+(15/3))
4÷2÷2 1918 1 (4/2)/2
4÷2÷2 1900 4 4/(2/2)
(1÷6-3)×5÷2/2 2400 -3.541... ((((1/6)-3)×5)/2)/2
(1÷6-3)×5÷2/2 1400 1.666... ((1/(6-3))×5)/(2/2)
1×2÷5×5-15 2015 -13 (((1×2)/5)×5)-15
1×2÷5×5-15 1719 0.2 (1×2)/((5×5)-15)
10/2+3×7 1991 26 (10/2)+(3×7)
10/2+3×7 1911 26 (10/2)+(3×7)
10÷2+3×7 1991 26 (10/2)+(3×7)
10÷2+3×7 1911 0.434... 10/(2+(3×7))
4÷2+2÷2 2000 3 (4/2)+(2/2)
4÷2+2÷2 1900 2 4/((2+2)/2)
4÷2×2÷3 9999 1.333... ((4/2)×2)/3
4÷2×2÷3 0000 3 4/((2×2)/3)
((10÷2)÷2)+3÷7 2000 2.928... ((10/2)/2)+(3/7)
((10÷2)÷2)+3÷7 1900 0.785... (((10/2)/2)+3)/7
(10÷(2÷2))+3×7+(10÷(2÷2))+3×7
1920 62 (10/(2/2))+(3×7)+(10/(2/2))+(3×7)
(10÷(2÷2))+3×7+(10÷(2÷2))+3×7
1750 62 (10/(2/2))+(3×7)+(10/(2/2))+(3×7)
10÷2/2+4 2000 6.5 ((10/2)/2)+4
10÷2/2+4 0100 2 10/((2/2)+4)
9+6÷3-3+15/3 9630 13 9+(6/3)-3+(15/3)
9+6÷3-3+15/3 0369 3 (9+6)/(3-3+(15/3))
`=`=`/`
शैतानी है! महान समाधान!