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

โปรแกรมตรวจสอบเลขฟีบอนัชชีใน Python

ตรวจสอบว่า n เป็นพจน์ของลำดับฟีบอนัชชีหรือไม่

ตัวอย่าง: n=13 → True (0,1,1,2,3,5,8,13,21,34...)

ขั้นตอน (Mathematical Property)

จำนวน n เป็นฟีบอนัชชี ⟺ 5n²+4 หรือ 5n²-4 เป็น Perfect Square

โค้ดใช้สูตร Golden Ratio: phi = (1+√5)/2, a = phi*n ตรวจสอบว่า a ใกล้เคียงจำนวนเต็ม

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

from math import sqrt

def solve(n):
    phi = 0.5 + 0.5 * 5.0**0.5
    a = phi * n
    return n == 0 or abs(round(a) - a) < 1.0 / n

n = 13
print(solve(n))  # Output: True

อินพุต

13

เอาต์พุต

True