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

C++ में श्रृंखला Kn + ( K(n-1) * (K-1)^1 ) + ( K(n-2) * (K-1)^2 ) + ... + (K-1)^n का योग


इस समस्या में, हमें श्रृंखला K^n + ( K^(n-1) * (K-1)^1 ) + ( K^(n-2) * (K-1)^2 ) + ... (K-1)^n के दो नंबर k और n दिए गए हैं। हमारा कार्य श्रृंखला का योग खोजने के लिए एक प्रोग्राम बनाना है।

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

इनपुट: n = 3, k = 4 आउटपुट: 175 व्याख्या: श्रृंखला का योग है = 4^3 + ( (4^2)*(3^1) ) + ( (4^1)*(3^2) ) + ( (4^0)*(3^3) ) = 64 + 48 + 36 + 27 = 175

समस्या को हल करने का एक सरल तरीका, फॉर लूप का उपयोग करना है। श्रृंखला के प्रत्येक पद को खोजें और मान को योग में जोड़ें।

एल्गोरिदम

योग = 0 इनिशियलाइज़ करें; चरण 1: i -> 0 से n तक। चरण 1.1: योग अपडेट करें: योग += pow(k, n-i) * pow(k, i) चरण 2: योग लौटाएं।

उदाहरण

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

#include <iostream> #include <math.h> using namespace std; int calcSeriesSum(int k, int n) { int sum = 0; for (int i = 0; i <= n; i++) { int p = pow(k, n-i) * pow((k-1), i); sum = sum + p; } return sum; } int main() { int n = 4; int K = 2; cout<<"Sum of the series is "<<calcSeriesSum(K, n); }

आउटपुट

Sum of the series is 31

यह समाधान कुशल नहीं है और n क्रम का समय लेता है।

एक कुशल समाधान श्रृंखला के योग के लिए सामान्य सूत्र खोजना होगा।

श्रृंखला K^n + ( K^(n-1) * (K-1)^1 ) + ( K^(n-2) * (K-1)^2 ) + ... (K-1)^n एक ज्यामितीय प्रगति बनाती है। इस प्रगति का सामान्य अनुपात (k-1)/k है और पहला पद k^n है। योग = K^n + ( K^(n-1) * (K-1)^1 ) + ( K^(n-2) * (K-1)^2 ) + ... (K-1)^n योग = k^n(1 + (k-1)/k + (k-1)^2/k^2 + ... + (k-1)^n) योग = ((k^n)(1 - ((k-1)^(n+1))/k^(n+1))) / (1 - ((k-1)/k)) योग = k^n ( (k^(n+1) - (k-1)^(n+1))/k^(n+1) ) / ( (k - (k-1))/k ) योग = k^n ( (k^(n+1) - (k-1)^(n+1))/k^(n+1) ) / (1/k) योग = k^n ( (k^(n+1) - (k-1)^(n+1))/k^(n+1) ) * k योग = ( k^(n+1) - (k-1)^(n+1) )

उदाहरण

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

#include <iostream> #include <math.h> using namespace std; int calcSeriesSum(int k, int n) { return ( pow(k,(n+1)) - pow((k-1),(n+1)) ); ; } int main() { int n = 4; int K = 2; cout<<"Sum of the series is "<<calcSeriesSum(K, n); }

आउटपुट

Sum of the series is 31

  1. - C++ में श्रृंखला 1 + 2 + 2 + 3 + 3 + 3 + .. + n का योग ज्ञात करने का प्रोग्राम

    इस समस्या में, हमें एक संख्या n दी गई है जो श्रृंखला के nवें पद को दर्शाती है। हमारा कार्य C++ में श्रृंखला 1 + 2 + 2 + 3 + 3 + 3 + .. + n का योग ज्ञात करने का एक प्रोग्राम बनाना है।समस्या विवरण - यहां, हम उस श्रृंखला का योग ज्ञात करेंगे जिसका nवां पद n बार संख्या n का योग है। इसका मतलब यह वर्ग संख्

  1. - C++ में arr[i]*i के योग को अधिकतम करना

    समस्या कथन N पूर्णांकों का एक ऐरे दिया गया है। आपको ऐरे के तत्वों को पुनर्व्यवस्थित करने की अनुमति है। कार्य Σarr[i]*i का अधिकतम मान ढूंढना है, जहां i = 0, 1, 2, .. n-1। यदि इनपुट ऐरे = {4, 1, 6, 2} तो अधिकतम योग 28 होगा यदि हम तत्वों को सॉर्टेड क्रम में पुनर्व्यवस्थित करें: {1, 2, 4, 6} = (1 * 0)

  1. - C++ में अंकगणितीय श्रृंखला का योग

    a(पहला पद), d(सामान्य अंतर) और n (श्रृंखला में मानों की संख्या) दिए गए हैं और कार्य श्रृंखला उत्पन्न करना और उनके योग की गणना करना है। अंकगणितीय श्रृंखला क्या है अंकगणितीय श्रृंखला संख्याओं का क्रम है जिसमें सामान्य अंतर होता है जहां श्रृंखला का पहला पद a होता है और उनके बीच सामान्य अंतर d होता है।