หน้าหลัก » ภาษาไพธอน (Python) » Python คำนวณตัวเลขในลำดับฟีโบนักชี (Fibonacci)

Python คำนวณตัวเลขในลำดับฟีโบนักชี (Fibonacci)




Fibonacci (ฟีโบนักชี) คือ ลำดับตัวเลขทางคณิตศาสตร์ ที่แต่ละตัวเลขเป็นผลรวมของตัวเลขสองตัวก่อนหน้า โดยลำดับนี้เริ่มต้นที่ 0 และ 1

รูปแบบของลำดับฟีโบนักชี

0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, …

สูตรทางคณิตศาสตร์

F(n) = F(n−1) + F(n−2)
  • เมื่อ F(0)=0
  • และ F(1)=1

ตัวอย่างการคำนวณ

  • เริ่มต้นที่ 0 และ 1
  • นำตัวเลข 2 ตัวล่าสุดมาบวกกัน
  • 0 + 1 = 1 → ได้ลำดับใหม่เป็น [0, 1, 1]
  • 1 + 1 = 2 → ได้ลำดับใหม่เป็น [0, 1, 1, 2]
  • 1 + 2 = 3 → ได้ลำดับใหม่เป็น [0, 1, 1, 2, 3]
  • 2 + 3 = 5 → ได้ลำดับใหม่เป็น [0, 1, 1, 2, 3, 5]
  • … และดำเนินการต่อไปเรื่อย ๆ

การนำไปใช้งานในชีวิตจริง

  • รูปแบบการจัดเรียงของดอกไม้, ใบไม้, และเปลือกหอย
  • การวิเคราะห์อัลกอริทึม และการจัดโครงสร้างข้อมูล
  • วิเคราะห์แนวโน้มในตลาดหุ้นและการลงทุน
  • รูปแบบการจัดวางที่สมมาตรและสมดุล

ซูโดโค้ด (Pseudo Code)

เริ่มต้นฟังก์ชัน fibonacci_cal(n)
    สร้างรายการ memo ที่มีค่าเริ่มต้นเป็น [0, 1]
    วนลูปตั้งแต่ i = 2 จนถึง n-1
        เพิ่มผลรวมของ memo[i-1] และ memo[i-2] ลงใน memo
    จบลูป
    ส่งคืน memo ตั้งแต่ตำแหน่งที่ 0 ถึง n
จบฟังก์ชัน

แสดงข้อความ "ป้อนจำนวนลำดับ Fibonacci ที่ต้องการ:"
รับค่า n จากผู้ใช้
แปลง n ให้เป็นจำนวนเต็ม

เรียกใช้ฟังก์ชัน fibonacci_cal(n) และเก็บผลลัพธ์ใน result

แสดงผล "ลำดับ Fibonacci:" ตามด้วย result

ตัวอย่างโค้ดภาษา

ตัวอย่างโค้ดภาษา Python ในการคำนวณหาตัวเลขในลำดับฟีโบนักชี (Fibonacci)

1.ตัวอย่างโค้ด แบบสร้างเป็นฟังก์ชัน

def fibonacci_cal(n):
    memo = [0, 1]
    for i in range(2, n):
        memo.append(memo[i-1] + memo[i-2])
    return memo[:n]

n = int(input("ป้อนจำนวนลำดับ Fibonacci ที่ต้องการ: "))
result = fibonacci_cal(n)

print("ลำดับ Fibonacci:", result)

2.ตัวอย่างโค้ด แบบไม่ต้องสร้างเป็นฟังก์ชัน

n = int(input("ป้อนจำนวนลำดับ Fibonacci ที่ต้องการ: "))
memo = [0, 1]
for i in range(2, n):
    memo.append(memo[i-1] + memo[i-2])

result = memo[:n]

print("ลำดับ Fibonacci:", result)

แสดงผล

ป้อนจำนวนลำดับ Fibonacci ที่ต้องการ: 5
ลำดับ Fibonacci: [0, 1, 1, 2, 3]

ป้อนจำนวนลำดับ Fibonacci ที่ต้องการ: 10
ลำดับ Fibonacci: [0, 1, 1, 2, 3, 5, 8, 13, 21, 34]

ป้อนจำนวนลำดับ Fibonacci ที่ต้องการ: 15
ลำดับ Fibonacci: [0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89, 144, 233, 377]

กรณี ป้อนเลข 0 จะแสดงค่าว่าง

ป้อนจำนวนลำดับ Fibonacci ที่ต้องการ: 0
ลำดับ Fibonacci: []