ภาพรวมปัญหา
หาผลรวมของอนุกรม 1¹ + 2² + 3³ + ... + nⁿ โดยใช้การเรียกฟังก์ชันซ้ำ (Recursion)
ตัวอย่าง
Input: n = 4 Output: 30 Explanation: 1¹ + 2² + 3³ + 4⁴ = 1 + 4 + 27 + 256 = 288 (หมายเหตุ: ตัวอย่างเดิมมีข้อผิดพลาด 1+4+9+16=30 คือผลรวมกำลังสอง ไม่ใช่กำลังตัวเอง)
ตัวอย่างโค้ด C++ (Iterative)
#include <iostream>
using namespace std;
long long calcSeriesSum(int n) {
long long sum = 0;
for (int i = 1; i <= n; i++)
sum += (i * i); // หมายเหตุ: โค้ดต้นฉบับคำนวณ i² ไม่ใช่ i^i
return sum;
}
int main() {
int n = 7;
cout << "Sum = " << calcSeriesSum(n);
return 0;
}
ผลลัพธ์
Sum of the series 1^1 + 2^2 + 3^3 + ... + 7^7 is 140
หมายเหตุ: โค้ดต้นฉบับคำนวณผลรวมกำลังสอง (i²) ไม่ใช่กำลังตัวเอง (i^i) หากต้องการ i^i ต้องใช้ pow(i,i) หรือการคูณซ้ำ