Computer >> Máy Tính >  >> Lập trình >> C ++

Tính tổng của chuỗi 1 ^ 2 + 3 ^ 2 + 5 ^ 2 +. . . + (2 * n - 1) ^ 2 trong C ++


Trong bài toán này, chúng ta được cho một số n của chuỗi. Nhiệm vụ của chúng ta là tìm tổng của chuỗi 1 ^ 2 + 3 ^ 2 + 5 ^ 2 + ... + (2 * n - 1) ^ 2 với giá trị đã cho của n.

Hãy lấy một ví dụ để hiểu vấn đề,

Đầu vào -

n = 5

Đầu ra -

84

Giải thích -

sum = 1^2 + 3^2 + 5^2 + 7^2 + 9^2
= 1 + 9 + 25 + 49 = 84

Một cách tiếp cận cơ bản để giải quyết vấn đề này là áp dụng trực tiếp công thức tính tổng của chuỗi.

Ví dụ

#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;
}

Đầu ra

The sum of series up to 10 is 165

Một cách khác để giải là sử dụng công thức toán học để tìm tổng của chuỗi.

Tổng là,

1^2 + 3^2 + 5^2 + … + (2*n - 1)^2 =
{(n * (2*(n-1)) * (2*(n+1)))/3}

Ví dụ

#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;
}

Đầu ra

The sum of series up to 5 is 165