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

श्रृंखला का योग 2^0 + 2^1 + 2^2 +...+ 2^n C++ . में


इस समस्या में, हमें एक संख्या n दी गई है जो श्रृंखला 2^0, 2^1, 2^2, …, 2^n के n-वें पद को परिभाषित करती है। हमारा काम 2^0 + 2^1 + 2^2 +...+ 2^n.

श्रृंखला का योग ज्ञात करने के लिए एक प्रोग्राम बनाना है।

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

इनपुट

n=6

आउटपुट

स्पष्टीकरण

sum = 2^0 + 2^1 + 2^2 + 2^3 + 2^4 + 2^5 + 2^6
sum = 1 + 2 + 4 + 8 + 16 + 32 + 64 = 127

लूप का उपयोग करके समस्या का एक सरल समाधान है। 0 से n तक के प्रत्येक मान के लिए 2^i ज्ञात करना और इसे योग चर में जोड़ना।

एल्गोरिदम

Initialize sum = 0
Step 1: Iterate from i = 0 to n. And follow :
Step 1.1: Update sum, sum += 2^i.
Step 2: Print sum.

उदाहरण

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

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

आउटपुट

Sum of the series 2^0 + 2^1 + 2^2 +...+ 2^11 is 4095

इस समस्या को हल करने के लिए यह सबसे प्रभावी तरीका नहीं है क्योंकि यह एक लूप का उपयोग करता है जो ऑर्डर ओ (एन) की समय जटिलता बनाता है।

एक अधिक प्रभावी समाधान, हम योग के लिए गणितीय सूत्र का उपयोग करेंगे। यह

. द्वारा दिया गया है
 2^(n+1) - 1

उदाहरण

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

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

आउटपुट

Sum of the series 2^0 + 2^1 + 2^2 +...+ 2^11 is 4095



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

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

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

    इस ट्यूटोरियल में, हम दी गई श्रृंखला 1 + 1/2^2 + 1/3^3 +…..+ 1/n^n का योग ज्ञात करने के लिए एक प्रोग्राम पर चर्चा करेंगे। इसके लिए, हमें n का मान दिया जाएगा और हमारा कार्य दी गई श्रृंखला का योग ज्ञात करने के लिए पहले से शुरू होने वाले प्रत्येक पद को जोड़ना है। उदाहरण #include <iostream> #incl

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

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