ในปัญหานี้ เราได้รับตัวเลข n ของอนุกรม ภารกิจคือการหาผลรวมของอนุกรม 1² + 3² + 5² + ... + (2n-1)² สำหรับค่า n ที่กำหนด
ตัวอย่างเพื่อเข้าใจปัญหา
อินพุต −
n = 5
เอาต์พุต −
84
คำอธิบาย −
sum = 1² + 3² + 5² + 7² + 9² = 1 + 9 + 25 + 49 + 81 = 165
วิธีพื้นฐานในการแก้ปัญหาคือการใช้สูตรโดยตรงสำหรับผลรวมของอนุกรม
ตัวอย่างโปรแกรม (วิธีวนลูป)
#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² + 3² + 5² + ... + (2n-1)² = n(2n-1)(2n+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