ट्रैक
/
Pharo
Pharo
/
अभ्यास
/
गुणजों का योग
गुणजों का योग

गुणजों का योग

आसान

परिचय

आप एक ऐसी कंपनी के लिए काम करते हैं जो ऑनलाइन फैंटेसी सर्वाइवल गेम बनाती है।

जब कोई खिलाड़ी एक लेवल पूरा करता है, तो उसे एनर्जी पॉइंट मिलते हैं। कितने एनर्जी पॉइंट मिलेंगे, यह इस पर निर्भर करता है कि उस लेवल को खोजते समय खिलाड़ी को कौन-कौन सी जादुई चीज़ें मिलीं।

निर्देश

आपको वह कोड लिखना है जो यह गणना करता है कि लेवल पूरा करने पर खिलाड़ियों को कितने एनर्जी पॉइंट मिलते हैं।

मिलने वाले एनर्जी पॉइंट दो चीज़ों पर निर्भर करते हैं:

  • वह लेवल (एक संख्या) जो खिलाड़ी ने पूरा किया।
  • खिलाड़ी ने उस लेवल के दौरान जो-जो जादुई आइटम इकट्ठा किए, उनमें से हर एक की बेस वैल्यू।

एनर्जी पॉइंट इन नियमों के अनुसार मिलते हैं:

  1. हर जादुई आइटम के लिए उसकी बेस वैल्यू लीजिए, और फिर उस वैल्यू के वे सारे गुणज ढूँढिए जो लेवल की संख्या से छोटे हैं।
  2. संख्याओं के इन समूहों को आपस में मिलाइए।
  3. जो संख्याएँ दोहराई गई हैं, उन्हें हटा दीजिए।
  4. अब जो संख्याएँ बची हैं, उन सबका जोड़ निकालिए।

चलिए एक उदाहरण देखते हैं:

खिलाड़ी ने लेवल 20 पूरा किया और उसे 3 और 5 बेस वैल्यू वाले दो जादुई आइटम मिले।

खिलाड़ी ने जो एनर्जी पॉइंट कमाए, उनकी गणना करने के लिए हमें इन बेस वैल्यू के वे सारे अलग-अलग गुणज ढूँढने होंगे जो लेवल 20 से छोटे हैं।

  • 20 से छोटे 3 के गुणज: {3, 6, 9, 12, 15, 18}
  • 20 से छोटे 5 के गुणज: {5, 10, 15}
  • समूहों को मिलाकर दोहराई गई संख्याएँ हटा दीजिए: {3, 5, 6, 9, 10, 12, 15, 18}
  • अलग-अलग गुणजों का जोड़ निकालिए: 3 + 5 + 6 + 9 + 10 + 12 + 15 + 18 = 78
  • इसलिए लेवल 20 पूरा करने और 3 तथा 5 बेस वैल्यू वाले दो जादुई आइटम पाने पर खिलाड़ी को 78 एनर्जी पॉइंट मिलते हैं।

ध्यान दें

इस अभ्यास की असली चाल यह समझना है कि संख्याओं की एक रेंज पर इटरेशन कैसे किया जाए और साथ ही किसी Collection में उन गुणजों को भी कैसे ढूँढा जाए जो किसी संख्या से विभाज्य हों। Spotter की मदद से संभावित क्लास ढूँढिए और उन क्लासों के मेथड की श्रेणियों पर नज़र डालिए।

यह भी याद रखिए कि Pharo के वातावरण में हर चीज़ आपस में कई जगह जुड़ी हुई है। आप किसी भी क्लास या मेथड पर राइट क्लिक करके उस क्लास के "references" देख सकते हैं (जिससे पता चलता है कि वह क्लास कहाँ बनाई या इस्तेमाल की गई है), और किसी मेथड के "senders" भी देख सकते हैं (जिससे पता चलता है कि उस मेथड को कहाँ से कॉल किया जाता है)।

GitHub के ज़रिए संपादित करें यह लिंक एक नई विंडो या टैब में खुलता है
Pharo Exercism

गुणजों का योग शुरू करने के लिए तैयार हैं?

Exercism पर साइन अप कीजिए और Pharo को 50 अभ्यास तथा असली इंसानों से मिलने वाली मेंटरिंग के साथ सीखिए और उसमें महारत हासिल कीजिए, वह भी बिल्कुल मुफ्त।