आसान 0 हल किए गए 0% स्वीकृति

गुणजकों का योग

किसी सीमा से कम उन मानों को जोड़ें जो दिए गए किसी भी गुणजक से विभाजित होते हैं।

आप क्या सीखेंगे

  • संख्या को कई गुणनखंडों से जाँचना
  • किसी मान को दो बार गिनने से बचना
  • सीमा से नीचे का कुल जोड़ना

समस्या

सीमा से कम धनात्मक पूर्णांकों पर विचार करें। किसी मान को शामिल करें यदि वह कम से कम एक गैर-शून्य गुणजक से विभाजित होता है। यदि किसी मान को कई गुणजक विभाजित करते हैं, तो भी उसे केवल एक बार गिनें। शून्य गुणजकों की अनदेखी करें। गुणजक [3, 5] देने पर यह 3 या 5 के गुणजकों का परिचित कार्य बन जाता है।

sum_of_multiples(limit, factors) को लागू करें।

इनपुट

limit: विशिष्ट ऊपरी सीमा।

factors: वे गुणजक जिनके गुणजक योग्य हैं।

आउटपुट

योग्य और अलग-अलग धनात्मक पूर्णांकों का योग लौटाएँ।

सीमाएँ

0 ≤ limit ≤ 100,000। गुणजकों की संख्या 0 से 20 तक हो सकती है, प्रत्येक 0 से 100,000 के बीच। गुणजकों में पुनरावृत्ति (डुप्लिकेट) हो सकती है।

उदाहरण

उदाहरण 1
इनपुट:
limit = 12
factors = [3, 5]

अपेक्षित आउटपुट:
expected = 33
इनपुट:
long long limit = 12;
std::vector<long long> factors = {3, 5};

अपेक्षित आउटपुट:
long long expected = 33;
इनपुट:
long limit = 12;
long[] factors = new long[] {3, 5};

अपेक्षित आउटपुट:
long expected = 33;

व्याख्या

शामिल मान हैं 3, 5, 6, 9, और 10। इनका योग 33 है।

उदाहरण 2
इनपुट:
limit = 10
factors = [2, 4]

अपेक्षित आउटपुट:
expected = 20
इनपुट:
long long limit = 10;
std::vector<long long> factors = {2, 4};

अपेक्षित आउटपुट:
long long expected = 20;
इनपुट:
long limit = 10;
long[] factors = new long[] {2, 4};

अपेक्षित आउटपुट:
long expected = 20;

व्याख्या

2, 4, 6, और 8 को शामिल करें। मान 4 और 8 दोनों गुणजकों से मेल खाने के बावजूद केवल एक बार गिने जाते हैं।

कैसे हल करें

पहले खुद कोशिश करें, फिर एक-एक करके संकेत खोलें।

संकेत 1

सिर्फ वे values जो कम-से-कम एक usable factor से divisible हैं, एक बार contribute करें.

संकेत 2

Overlapping factor multiples को बिना double counting के combine करने के लिए inclusion-exclusion use करो.

संकेत 3

कोई arithmetic करने से पहले zero factors और duplicates ignore करो.

अपेक्षित जटिलता

समय O(2^m), अतिरिक्त स्थान O(1)

संदर्भ

यह चुनौती CodeUtility के लिए अनुकूलित की गई है। ऊपर दिए गए स्टेटमेंट और सीमाओं का पालन करें।

दूसरों से सीखें

समुदाय समाधान

अभी तक कोई प्रकाशित समाधान नहीं। पहला साझा करने के लिए इस चुनौती को हल करें।