Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

โปรแกรมค้นหาอดีตอย่างมีประสิทธิภาพใน Python


สมมติว่าเรามีตัวเลข n เราต้องหา $e^{x}$ อย่างมีประสิทธิภาพโดยไม่ต้องใช้ฟังก์ชันไลบรารี สูตรสำหรับ $e^{x}$ เหมือนกับ

$$e^{x} =1 + x + \frac{x^2}{2!} + \frac{x^3}{3!} + ...$$

ดังนั้น หากอินพุตเท่ากับ x =5 เอาต์พุตจะเป็น 148.4131 เพราะ e^x =1 + 5 + (5^2/2!) + (5^3/3!) + ... =148.4131 ..

เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -

  • ข้อเท็จจริง :=1
  • res :=1
  • n :=20 อาจใหญ่เพื่อผลลัพธ์ที่แม่นยำ
  • ตัวเลข :=x
  • สำหรับฉันในช่วง 1 ถึง n ทำ
    • res :=res + ตัวเลข/ข้อเท็จจริง
    • nume :=nume * x
    • ข้อเท็จจริง :=ข้อเท็จจริง *(i+1)
  • ผลตอบแทน

ตัวอย่าง

ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -

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

ผลลัพธ์

143