इस समस्या में, हमें दो संख्याएँ a और n दी गई हैं। हमारा काम एक श्रृंखला का योग खोजने के लिए एक प्रोग्राम बनाना है ^ 1/1! + ए^2/2! + ए^3/3! + ए^4/4! +…….+a^n/n! सी++ में ।
समस्या का विवरण - समस्या दी गई श्रृंखला का योग a और n के दिए गए मानों का उपयोग करके ज्ञात करना है। श्रृंखला एक विशेष श्रृंखला है जिसमें प्रत्येक पद a/i, i -> 1 से n के साथ अंतिम पद का गुणज होता है।
समस्या को समझने के लिए एक उदाहरण लेते हैं
इनपुट
a = 3, n = 4
आउटपुट
15.375
स्पष्टीकरण
श्रृंखला का योग है
(3^1)/1! + (3^2)/2! + (3^3)/3! + (3^4)/4! = 3 + 9/2 + 27/6 + 81/24 = 15.375
समाधान दृष्टिकोण
श्रृंखला का योग ज्ञात करने के लिए, हम इन श्रंखलाओं का वां पद ज्ञात करने के लिए लूप का उपयोग करेंगे और योग ज्ञात करने के लिए उन्हें जोड़ेंगे।
श्रृंखला के प्रत्येक तत्व की गणना में सीधे गणना ओवरहेड होती है। इसलिए, हम अगले पद को खोजने के लिए अंतिम पद का उपयोग करेंगे।
यहाँ, ith पद =(i-1)वाँ पद * a/i.
इसका उपयोग करके हम कम गणना वाले शब्द पाएंगे जो कोड के समग्र प्रदर्शन में सुधार करते हैं।
हमारे समाधान की कार्यप्रणाली को दर्शाने वाला कार्यक्रम
उदाहरण
#include <iostream> using namespace std; float calcSeriesSum(int a, int n){ float sumVal = 0, term = 1; for(float i = 1; i <= n; i++){ term *= a/i; sumVal += term; } return sumVal; } int main(){ int a = 3, n = 4; cout<<"The sum of the series is "<<calcSeriesSum(a, n); return 0; }
आउटपुट
The sum of the series is 15.375