Ở đây chúng ta sẽ xem làm thế nào chúng ta có thể lấy tổng của chuỗi đã cho. Giá trị của n sẽ do người dùng đưa ra. Chúng ta có thể giải quyết vấn đề này bằng cách tạo một hàm giai thừa và nhận giai thừa ở mỗi bước trong vòng lặp. Nhưng tính giai thừa là nhiệm vụ tốn kém hơn so với phép cộng thông thường. Chúng ta sẽ sử dụng thuật ngữ giai thừa trước đó trong thuật ngữ tiếp theo. Thích 3! là (3 * 2 * 1), và 4! là 4 * 3 !. Vì vậy, nếu chúng ta lưu trữ 3! vào một số biến, chúng ta có thể sử dụng biến đó và chỉ thêm số tiếp theo để dễ dàng nhận được giai thừa tiếp theo.
Thuật toán
sum_series_fact (n)
begin res := 0 denominator := 1 for i in range 1 to n, do denominator := denominator * i res := res + i / denominator done return res end
Ví dụ
#include<iostream> using namespace std; float series_result(int n) { float denominator = 1; float res = 0; for(int i = 1; i<= n; i++) { denominator *= i; res += float(i/denominator); } return res; } main() { int n; cout << "Enter number of terms: "; cin >> n; cout << "Result: " << series_result(n); }
Đầu ra
Enter number of terms: 5 Result: 2.70833
Đầu ra
Enter number of terms: 3 Result: 2.5