इस समस्या में, हमें श्रृंखला की एक संख्या n दी गई है। हमारा कार्य n के दिए गए मान के लिए श्रृंखला 1^2 + 3^2 + 5^2 +... + (2*n - 1)^2 का योग ज्ञात करना है।
समस्या को समझने के लिए एक उदाहरण लेते हैं,
इनपुट -
n = 5
आउटपुट -
84
स्पष्टीकरण -
sum = 1^2 + 3^2 + 5^2 + 7^2 + 9^2 = 1 + 9 + 25 + 49 = 84
इस समस्या को हल करने के लिए एक बुनियादी दृष्टिकोण श्रृंखला के योग के लिए सूत्र को सीधे लागू करना है।
उदाहरण
#include <iostream> using namespace std; int calcSumOfSeries(int n) { int sum = 0; for (int i = 1; i <= n; i++) sum += (2*i-1) * (2*i-1); return sum; } int main() { int n = 5; cout<<"The sum of series up to "<<n<<" is "<<calcSumOfSeries(n); return 0; }
आउटपुट
The sum of series up to 10 is 165
हल करने का एक अन्य तरीका गणितीय सूत्र का उपयोग करके श्रृंखला का योग ज्ञात करना है।
योग है,
1^2 + 3^2 + 5^2 + … + (2*n - 1)^2 = {(n * (2*(n-1)) * (2*(n+1)))/3}
उदाहरण
#include <iostream> using namespace std; int calcSumOfSeries(int n) { return (n * (2 * n - 1) * (2 * n + 1)) / 3; } int main() { int n = 5; cout<<"The sum of series up to "<<n<<" is "<<calcSumOfSeries(n); return 0; }
आउटपुट
The sum of series up to 5 is 165