Tính tổng S = Σ_{i=1}^n a^i / i!.
Ví dụ
a = 3, n = 4: 3/1 + 9/2 + 27/6 + 81/24 = 3 + 4.5 + 4.5 + 3.375 = 15.375.
Tối ưu tính toán
Thay vì tính riêng a^i và i!, dùng quan hệ truy hồi:
term_1 = a/1
term_i = term_{i-1} * a / i
Cài đặt C++
#include <iostream>
using namespace std;
float calcSeriesSum(int a, int n) {
float sum = 0, term = 1;
for (float i = 1; i <= n; i++) {
term *= a / i;
sum += term;
}
return sum;
}
int main() {
int a = 3, n = 4;
cout << "Tong chuoi la " << calcSeriesSum(a, n);
return 0;
}
Output
Tong chuoi la 15.375
Lưu ý
- Dùng
doublecho độ chính xác cao hơn. - Chuỗi này hội tụ đến
e^a - 1khin → ∞. - Tránh tràn số: nhân chia dần thay vì tính lũy thừa và giai thừa riêng.