एक भारतीय किंवदंती ने शतरंज के खेल के कथित आविष्कारक की कहानी बताई, जिसने भारत के सम्राट को अपने खेल से इतना प्रभावित किया कि उसे किसी भी चीज के साथ पुरस्कृत किया जाता था।
आदमी ने कहा कि वह चावल में भुगतान करना चाहता था। वह शतरंज की बिसात के पहले वर्ग के लिए चावल का एक दाना चाहता था, दूसरे के लिए दो, तीसरे के लिए चार, चौथे के लिए आठ और इतने पर, 64 वें वर्ग तक।
सम्राट चकित था कि उस आदमी ने इतना छोटा इनाम मांगा, लेकिन जैसे-जैसे उसके गणितज्ञों ने गिनती शुरू की, उसने अपने प्रांतों में से एक को खो दिया।
कार्य
काल्पनिक शतरंज की बिसात (जो एक डिफ़ॉल्ट शतरंज की चौकी पर 8 है) और चौकों के बीच गुणक (जो कि किंवदंती में 2 है) की लंबाई को देखते हुए, सम्राट को मनुष्य को चावल के दानों की संख्या की गणना करनी चाहिए।
टिप्पणियाँ
साइड की लंबाई हमेशा एक सकारात्मक पूर्णांक होगी। गुणक इसके बजाय किसी भी प्रकार की तर्कसंगत संख्या हो सकती है।
यदि आपकी पसंद की भाषा बहुत बड़ी संख्या प्रदर्शित नहीं कर सकती है, तो यह ठीक है जब तक कि आपका कार्यक्रम छोटे इनपुट को सही ढंग से संसाधित कर सकता है।
इसके अलावा अगर आपकी पसंद की भाषा बड़े मान (घातांक संकेतन के साथ) को गोल करती है, तो यह ठीक है यदि वे मान लगभग सही हैं।
परीक्षण के मामलों
Input (side length, multiplier) => Output
8, 2 => 18446744073709551615
3, 6 => 2015539
7, 1.5 => 850161998.2854
5, -3 => 211822152361
256, 1 => 65536
2, 2 => 15
2, -2 => -5
कृपया ध्यान दें कि स्पष्ट सूत्र
result = (multiplier ^ (side ^ 2) - 1) / (multiplier - 1)
के multiplier = 1
रूप में गलत परफॉर्म करता है
1 ^ (side ^ 2) - 1 = 0
1 - 1 = 0
0 / 0 != side ^ 2 (as it should be)
स्कोरिंग
यह कोड-गोल्फ है। बाइट्स जीत में सबसे छोटा जवाब।
If your language of choose can't display too large numbers, it's ok as long as your program can correctly process smaller inputs
सावधान, कि अतीत में समस्याएं पैदा हुई हैं। meta.codegolf.stackexchange.com/a/8245/31716