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

गुणजों का योग

आसान

परिचय

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

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

निर्देश

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

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

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

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

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

sum_of_multiples फंक्शन को दिए जाने वाले टेस्ट इनपुट के बारे में आप निम्नलिखित मान सकते हैं:

  • सभी इनपुट संख्याएँ ऋणेतर ints हैं (यानी शून्य सहित प्राकृतिक संख्याएँ)।
  • फैक्टर की एक list देना ज़रूरी है, और उसके एलिमेंट अद्वितीय तथा आरोही क्रम में क्रमबद्ध होते हैं।
GitHub के ज़रिए संपादित करें यह लिंक एक नई विंडो या टैब में खुलता है
Python Exercism

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

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