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

प्रथम N प्राकृत संख्याओं का योग जो X या Y . से विभाज्य हैं

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

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

  • लूप और कंडीशनल स्टेटमेंट का उपयोग करना
  • फ़ॉर्मूला का उपयोग करना

विधि 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("sum of %d natural numbers divisible by %d and %d is %d" ,n,x,y,sum);
   return 0;
}

आउटपुट

sum of 54 natural numbers divisible by 2 and 5 is 881

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

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

इसे सूत्र - SN/X =((N/X)/2) * (2 * X + (N/X - 1) * X)

का उपयोग करके पाया जा सकता है।

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

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

अब, इस सूत्र का प्रयोग करके x और y से विभाज्य n प्राकृत संख्याओं का योग ज्ञात किया जाता है:S n/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("sum of %d natural numbers divisible by %d and %d is %d" ,n,x,y,sum);
   return 0;
}

आउटपुट

sum of 54 natural numbers divisible by 2 and 5 is 881

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


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

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

  1. सी ++ प्रोग्राम पहले एन प्राकृतिक संख्याओं के वर्गों के योग के लिए?

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

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

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