Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> सी प्रोग्रामिंग

X या Y से विभाज्य पहली N प्राकृतिक संख्याओं का योग

n तक की सभी प्राकृतिक संख्याओं को जोड़ना जो X या Y से विभाज्य हैं, उन सभी संख्याओं को चुनना है जो X या Y से विभाज्य हैं और उन्हें एक वेरिएबल में जोड़ना है जो योग संग्रहीत करता है।

X या Y से विभाज्य पहली N प्राकृतिक संख्याओं का योग ज्ञात करने के दो तरीके हैं:

  • लूप और सशर्त स्टेटमेंट का उपयोग करके
  • सूत्र का उपयोग करके

विधि 1 - लूप और सशर्त स्टेटमेंट का उपयोग करके

यह विधि एक लूप का उपयोग करती है जो n संख्याओं तक गिनती करता है और उन संख्याओं को चुनता है जो X या Y से विभाज्य हैं और उन्हें प्रत्येक पुनरावृत्ति में जोड़कर एक वेरिएबल में सहेजती है।

उदाहरण कोड

#include <stdio.h>
int main(void) {
    int n = 54;
    int x = 2;
    int y = 5;
    int sum = 0;
    for(int i = 0; i <= n; i++) {
        if(i%x == 0 || i%y == 0)
            sum = sum + i;
    }
    printf("%d प्राकृतिक संख्याओं का योग जो %d और %d से विभाज्य हैं, %d है", n, x, y, sum);
    return 0;
}

आउटपुट

54 प्राकृतिक संख्याओं का योग जो 2 और 5 से विभाज्य हैं, 881 है

विधि 2 - सूत्र का उपयोग करके

यह विधि किसी संख्या से विभाज्य पहली n संख्याओं के योग को ज्ञात करने के लिए सूत्र का उपयोग करती है।

इसे सूत्र का उपयोग करके ज्ञात किया जा सकता है: Sn/x = ((n/x)/2) × (2 × x + (n/x - 1) × x)

इस सूत्र का उपयोग करके x से विभाज्य n प्राकृतिक संख्याओं का योग ज्ञात करें: Sn/x = ((n/x)/2) × (2 × x + (n/x - 1) × x)

इस सूत्र का उपयोग करके y से विभाज्य n प्राकृतिक संख्याओं का योग ज्ञात करें: Sn/y = ((n/y)/2) × (2 × y + (n/y - 1) × y)

अब, इस सूत्र का उपयोग करके x और y दोनों से विभाज्य n प्राकृतिक संख्याओं का योग ज्ञात करें: Sn/x*y = ((n/(x*y))/2) × (2 × (x*y) + (n/(x*y) - 1) × (x*y))

अब, हम x के योग और y के योग को जोड़ेंगे और x*y के योग को घटाएंगे जो दो बार जुड़ गए हैं।

उदाहरण कोड

#include <stdio.h>
int main() {
    int n = 54;
    int x = 2, y = 5;
    int Sx, Sy, Sxy, sum;
    Sx = ((n / x)) * (2 * x + (n / x - 1) * x) / 2;
    Sy = ((n / y)) * (2 * y + (n / y - 1) * y) / 2;
    Sxy = ((n / (x * y))) * (2 * (x * y) + (n / (x * y) - 1) * (x * y)) / 2;
    sum = Sx + Sy - Sxy;
    printf("%d प्राकृतिक संख्याओं का योग जो %d और %d से विभाज्य हैं, %d है", n, x, y, sum);
    return 0;
}

आउटपुट

54 प्राकृतिक संख्याओं का योग जो 2 और 5 से विभाज्य हैं, 881 है

दूसरी विधि बेहतर है क्योंकि यह किसी लूप का उपयोग नहीं करती जिसका अर्थ है बेहतर समय जटिलता। लेकिन यदि इनपुट केस छोटे हैं तो पहली विधि भी उपयोग की जा सकती है। लेकिन बड़े इनपुट केस के लिए दूसरी विधि सर्वोत्तम विकल्प नहीं है।

  1. C प्रोग्राम: पहले n प्राकृतिक संख्याओं के घन का योग C प्रोग्राम: पहले n प्राकृतिक संख्याओं के घन का योग

    इस समस्या में हम देखेंगे कि कैसे हम पहले n प्राकृतिक संख्याओं के घन का योग प्राप्त कर सकते हैं। यहां हम एक फॉर लूप का उपयोग कर रहे हैं, जो 1 से n तक चलता है। प्रत्येक चरण में हम पद के घन की गणना कर रहे हैं और फिर इसे योग में जोड़ रहे हैं। यह प्रोग्राम पूरा होने में O(n) समय लेता है। लेकिन अगर हम इ

  1. C++ में पहले n प्राकृतिक संख्याओं के वर्गों का योग C++ में पहले n प्राकृतिक संख्याओं के वर्गों का योग

    इस समस्या में हम देखेंगे कि पहले n प्राकृतिक संख्याओं के वर्गों का योग कैसे प्राप्त किया जा सकता है। यहां हम एक फॉर लूप का उपयोग कर रहे हैं, जो 1 से n तक चलता है। प्रत्येक चरण में हम पद का वर्ग निकाल रहे हैं और फिर इसे योग में जोड़ रहे हैं। यह प्रोग्राम पूरा होने में O(n) समय लेता है। लेकिन यदि हम

  1. - पायथन प्रोग्राम: पहले n नेचुरल नंबर्स के वर्गों का योग

    इस लेख में, हम दिए गए प्रॉब्लम स्टेटमेंट को हल करने के समाधान और दृष्टिकोण के बारे में सीखेंगे। प्रॉब्लम स्टेटमेंट इनपुट के रूप में एक पॉजिटिव इंटीजर N दिए जाने पर। हमें 1² + 2² + 3² + ... + N² का मान निकालने की आवश्यकता है। समस्या कथन: इसे दो मेथड्स से हल किया जा सकता है: मल्टीप्लिकेशन एडिशन अंक