एक समय की बात है, एक बुद्धिमान नौकर ने एक राजकुमार की जान बचाई। राजा ने वादा किया कि नौकर जो भी माँगेगा, वह उसे देगा। राजा को शतरंज बहुत पसंद था। यह जानकर नौकर ने राजा से कहा कि उसे गेहूँ के दाने चाहिए। शतरंज के बोर्ड के पहले खाने पर एक दाना, और हर अगले खाने पर दानों की संख्या दोगुनी।
शतरंज के बोर्ड पर गेहूँ के दानों की संख्या निकालिए।
शतरंज के बोर्ड में 64 खाने होते हैं। खाना 1 पर एक दाना होता है, खाना 2 पर दो दाने, खाना 3 पर चार दाने, और इसी तरह हर बार संख्या दोगुनी होती जाती है।
ऐसा कोड लिखिए जो यह निकालता है:
Vim के डॉक्यूमेंटेशन के अनुसार:
यह मानते हुए कि 64 बिट संख्याएँ इस्तेमाल की जाती हैं (v:numbersize देखिए), एक अनसाइन्ड संख्या को 0x7fffffffffffffff या 9223372036854775807 तक सीमित कर दिया जाता है।
दूसरे शब्दों में, Vim script किसी भी 2^63 या उससे बड़ी संख्या को पूर्णांक के रूप में व्यक्त नहीं कर सकता।
इस अभ्यास के कुछ टेस्टों के लिए 64 बिट पूर्णांक चाहिए, जो Vim script में पूर्णांक के आकार की सीमा से बाहर है। इस सीमा के कारण गणनाओं के परिणामों की जाँच ऐसी स्ट्रिंग से की जाती है जो पूर्णांक वैल्यू व्यक्त करती है। उत्तर को Integer के रूप में व्यक्त नहीं किया जाता।
क्या आप भाषा जितनी बड़ी संख्या की सीधे अनुमति देती है, उससे बड़ी संख्याओं से बचकर इसे हल कर सकते हैं?
Exercism पर साइन अप कीजिए और Vim script को 89 अभ्यास तथा असली इंसानों से मिलने वाली मेंटरिंग के साथ सीखिए और उसमें महारत हासिल कीजिए, वह भी बिल्कुल मुफ्त।