C++ 中 1^2 + 3^2 + 5^2 + . . . + (2*n - 1)^2 级数的和
在这个问题中,我们给定了一个级数的数字 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
广告
数据结构
网络
关系数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP