একটি সংখ্যা n দেওয়া আছে। n কি ফিবোনাচ্চি সিকোয়েন্সে আছে কিনা চেক করুন। ফিবোনাচ্চি: f(0)=0, f(1)=1, f(i)=f(i-1)+f(i-2)।
উদাহরণ
n = 13 → আউটপুট: True
ফিবোনাচ্চি: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34...
এলগরিদম (গোল্ডেন রেশিও ফর্মুলা)
phi := 0.5 + 0.5 * √5a := phi * n- রিটার্ন
Trueযদিn == 0অথবাaпочти ইন্টিজার হয় (|round(a) - a| < 1/n)।
পাইথন কোড
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)) # আউটপুট: True
ইনপুট / আউটপুট
13 True