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

गुणजों का योग

आसान

परिचय

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

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

निर्देश

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

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

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

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

  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 एनर्जी पॉइंट मिलते हैं।

संकेत

इस अभ्यास में आपको डेटा के एक संग्रह पर काम करना है। LINQ (Language Integrated Query) का उपयोग करके आप अपने कोड को आसान बना सकते हैं। अधिक जानकारी के लिए इस पेज देखिए।

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

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

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