शतरंज के बोर्ड पर गेहूँ के दानों की संख्या निकालिए, यह मानते हुए कि हर खाने पर दानों की संख्या दोगुनी हो जाती है।
बहुत पहले की बात है, एक बुद्धिमान सेवक ने एक राजकुमार की जान बचाई। राजा ने वादा किया कि वह सेवक जो भी चाहेगा, उसे देगा। राजा को शतरंज बहुत पसंद था, यह जानकर सेवक ने राजा से कहा कि उसे गेहूँ के दाने चाहिए। शतरंज के बोर्ड के पहले खाने पर एक दाना, और हर अगले खाने पर दानों की संख्या दोगुनी।
शतरंज के बोर्ड पर 64 खाने होते हैं (जहाँ खाना 1 पर एक दाना, खाना 2 पर दो दाने, और इसी तरह आगे)।
ऐसा कोड लिखिए जो दिखाए:
इस तरह की समस्याएँ, जिनमें एक उत्तर पिछले उत्तर पर निर्भर होता है, अक्सर रिकर्शन कहलाती हैं। रिकर्शन के लिए कोड लिखने के कई अलग-अलग तरीके हैं। अगर आप इससे परिचित नहीं हैं, तो इसके बारे में थोड़ा अध्ययन करना फायदेमंद रहेगा। Pharo रिकर्शन के लिए अच्छी तरह ऑप्टिमाइज़ किया गया है, और यह एक आम तौर पर इस्तेमाल होने वाला पैटर्न है।
ध्यान दें: मूल समस्या विवरण में grainsCalculator को #square से कॉल किया जाता है। हमने इस मेथड का नाम बदलकर #atSquare: कर दिया है, जो Smalltalk जैसा नाम है और यह बेहतर बताता है कि आप किसी उत्तर को "at a square" पर माँग रहे हैं।