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: []