Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> C++

C++ में प्रथम n प्राकृत संख्याओं का m-वें योग ज्ञात कीजिए

इस समस्या में, हमें दो पूर्णांक m और n दिए गए हैं। हमारा काम है पहले n प्राकृत संख्याओं का m-th योग ज्ञात करना।

समस्या का विवरण: हम n प्राकृत संख्याओं का योग m गुणा पाएंगे। योग सूत्र द्वारा दिया जाता है,

अगर (एम> 1),

योग (एन, एम) =योग (योग (एन, (एम -1)), 1)

अगर (एम =1)

योग(n, m) =योग(n, 1) =n प्राकृत संख्याओं का योग

समस्या को समझने के लिए एक उदाहरण लेते हैं,

इनपुट: एम =4, एन =2

आउटपुट: 231

स्पष्टीकरण:

योग(2, 4) =योग (योग(2, 3), 1 )

=योग (योग (योग (2, 2), 1), 1 )

=योग (योग (योग (योग (2, 1), 1), 1), 1)

=योग (योग (योग (3, 1), 1), 1)

=योग (योग ( 6 , 1 ), 1)
=योग (21, 1)

=231

समाधान दृष्टिकोण -

समस्या का एक सरल समाधान दो नेस्टेड लूप का उपयोग करना है। बाहरी वाला m मानों के लिए होगा और आंतरिक मान n मानों के लिए होगा। हम n के मान को अपडेट करेंगे और हम n प्राकृत संख्या m बार के योग की गणना करेंगे।

एक अधिक प्रभावी दृष्टिकोण n प्राकृतिक संख्या के योग को बार-बार कॉल करना होगा और हर बार रिकर्सन किए जाने पर पिछली राशि के साथ मूल्य को अपडेट करना होगा।

एल्गोरिदम:

चरण 1: योग के साथ योग मान अपडेट करें =योग (एन, एम -1) * (योग (एन, एम -1) +1) / 2 यदि m का योग मान एक से अधिक है।

चरण 2: यदि m =1 का मान, वापसी योग =n * (n+1) /2.

चरण 3: वापसी राशि।

हमारे समाधान की कार्यप्रणाली को दर्शाने वाला कार्यक्रम,

उदाहरण

#include <iostream>
using namespace std;

int calcSumN(int n, int m) {
   
   if (m == 1)
      return (n * (n + 1) / 2);
   return (calcSumN(n, m-1) * (calcSumN(n, m-1) + 1) / 2);
}

int main() {
   
   int n = 4;
   int m = 6;
   cout<<m<<"-th summation of first "<<n<<" natural numbers is "<<calcSumN(n, m);
   return 0;
}

आउटपुट

6-th summation of first 4 natural numbers is 125230148

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

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

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

    प्राकृत संख्याएं 1 से शुरू होने वाली धनात्मक पूर्णांक होती हैं। प्राकृत संख्याओं का क्रम है - 1, 2, 3, 4, 5, 6, 7, 8, 9, 10…… रिकर्सन का उपयोग करके पहले n प्राकृतिक संख्याओं का योग ज्ञात करने का कार्यक्रम इस प्रकार है। उदाहरण #include <iostream> using namespace std; int sum(int

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

    प्राकृत संख्याएं 1 से शुरू होने वाली धनात्मक पूर्णांक होती हैं। प्राकृत संख्याओं का क्रम है - 1, 2, 3, 4, 5, 6, 7, 8, 9, 10…… पहले n प्राकृतिक संख्याओं के योग की गणना लूप या सूत्र का उपयोग करके की जा सकती है। इन दोनों विधियों को निर्दिष्ट करने वाले प्रोग्राम इस प्रकार दिए गए हैं - ल