Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> Python

Chương trình Python tính tổng dãy số 1/1! + 2/2! + 3/3! + ... + n/n!

Trong bài viết này, chúng ta sẽ tìm hiểu về giải pháp và cách tiếp cận để giải quyết bài toán cho trước.

Đề bài − Cho một số nguyên đầu vào n, chúng ta cần tìm tổng của dãy số 1/1! + 2/2! + 3/3! + 4/4! + ... + n/n!

Ở đây chúng ta triển khai vòng lặp for, do đó độ phức tạp thời gian là O(n).

Để đạt hiệu quả, chúng ta tính giai thừa trong cùng một vòng lặp.

Chúng ta xây dựng hàm sumofseries như mô tả dưới đây:

Ví dụ

def sumOfSeries(num):
    res = 0
    fact = 1
    for i in range(1, num + 1):
        fact *= i
        res = res + (i / fact)
    return res

n = 100
print("Tổng: ", sumOfSeries(n))

Kết quả

Tổng: 2.7182818284590455

Tất cả biến và hàm được khai báo trong phạm vi toàn cục như hình bên dưới.

Chương trình Python tính tổng dãy số 1/1! + 2/2! + 3/3! + ... + n/n!

Kết luận

Trong bài viết này, chúng ta đã tìm hiểu về cách tiếp cận để tìm tổng dãy số 1/1! + 2/2! + ... + n/n!.