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

C++ में पहले n प्राकृतिक संख्याओं का m-वां योग ढूंढें


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

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

यदि (m > 1),

          sum(n, m) = sum( sum(n, (m-1)), 1 )

यदि (m = 1)

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

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

इनपुट: m = 4, n = 2

आउटपुट: 231

व्याख्या:

sum(2, 4) = sum ( sum(2, 3), 1 )

= sum ( sum ( sum (2, 2), 1) , 1 )

= sum ( sum ( sum (sum( 2, 1), 1) , 1 ), 1)

= sum ( sum ( sum (3, 1) , 1 ), 1)

= sum ( sum ( 6 , 1 ), 1)
= sum (21, 1)

= 231

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

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

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

एल्गोरिदम:

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

चरण 2: यदि m का मान = 1 है, तो sum = n * (n+1) /2 वापस करें।

चरण 3: sum वापस करें।

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

उदाहरण

#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. C++ में पहले n प्राकृतिक संख्याओं के वर्गों का योग C++ में पहले n प्राकृतिक संख्याओं के वर्गों का योग

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

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

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

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

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