สมมติว่าเรามีตัวเลข x เราต้องหาค่า e^x อย่างมีประสิทธิภาพ โดยไม่ใช้ฟังก์ชันจากไลบรารี สูตรของ e^x คือ:
$$e^{x} = 1 + x + \frac{x^2}{2!} + \frac{x^3}{3!} + \dots$$
ตัวอย่างเช่น หาก x = 5 ผลลัพธ์จะเป็นประมาณ 148.4131
ขั้นตอนการแก้ปัญหา
- fact := 1 (เก็บแฟกทอเรียล)
- res := 1 (ผลลัพธ์สะสม)
- n := 20 (จำนวนพจน์ สำหรับความแม่นยำ)
- nume := x (ตัวเศษ x^i)
- for i ในช่วง 1 ถึง n:
- res := res + nume/fact
- nume := nume * x
- fact := fact * (i+1)
- คืนค่า res
ตัวอย่างโค้ด
def solve(x):
fact = 1
res = 1
n = 20
nume = x
for i in range(1, n):
res += nume/fact
nume = nume * x
fact = fact * (i+1)
return res
x = 5
print(solve(x))
อินพุต
5
เอาต์พุต
148.4131591025766