ในบทความนี้ เราจะเรียนรู้เกี่ยวกับวิธีแก้ปัญหาและแนวทางการแก้ปัญหาที่กำหนด
ข้อความของปัญหา − กำหนดจำนวนเต็ม n ให้หาผลรวมของอนุกรม 1/1! + 2/2! + 3/3! + 4/4! + ... + n/n!
ในที่นี้เราใช้ลูป for ดังนั้นความซับซ้อนด้านเวลาคือ O(n)
เพื่อประสิทธิภาพ เราคำนวณแฟกทอเรียลภายในลูปเดียวกัน
เราสร้างฟังก์ชัน sumOfSeries ตามที่อธิบายด้านล่าง
ตัวอย่าง
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("Sum: ", sumOfSeries(n))
ผลลัพธ์
Sum: 2.7182818284590455
ตัวแปรและฟังก์ชันทั้งหมดถูกประกาศในขอบเขตส่วนกลาง (global scope) ตามที่แสดงในภาพด้านล่าง

สรุป
ในบทความนี้ เราได้เรียนรู้แนวทางในการหาผลรวมของอนุกรม 1/1! + 2/2! + ... + n/n! อย่างมีประสิทธิภาพ