এই আর্টিকেলে আমরা নিচের সমস্যা বিবৃতির সমাধান শিখব:
সমস্যা বিবৃতি
একটি সংখ্যা n দেওয়া থাকলে, যাচাই করুন n ফিবোনাচ্চি সংখ্যা কিনা।
আমরা সবাই জানি n-তম ফিবোনাচ্চি সংখ্যা পূর্ববর্তী দুটি ফিবোনাচ্চি সংখ্যার যোগফল। কিন্তু পুনরাবৃত্তি সম্পর্ক ছাড়া এছাড়া এদের একটি আকর্ষণীয় সম্পর্ক রয়েছে।
একটি সংখ্যা ফিবোনাচ্চি প্রকৃতির হবে যদি এবং কেবল যদি (5*n² + 4) বা (5*n² – 4) একটি পারফেক্ট স্কোয়ার হয়।
এই বৈশিষ্ট্যটি ব্যবহার করে আমরা যাচাই করব কোনো সংখ্যা ফিবোনাচ্চি কিনা।
এখন পাইথন স্ক্রিপ্টের বাস্তবায়ন দেখি:
উদাহরণ
import math
# x পারফেক্ট স্কোয়ার কিনা
def isPerfectSquare(x):
s = int(math.sqrt(x))
return s*s == x
# n ফিবোনাচ্চি সংখ্যা কিনা
def isFibonacci(n):
# যদি 5*n*n + 4 বা 5*n*n - 4 বা উভয়ই পারফেক্ট স্কোয়ার হয়
return isPerfectSquare(5*n*n + 4) or isPerfectSquare(5*n*n - 4)
for i in range(1, 11):
if isFibonacci(i) == True:
print(i, "is a Fibonacci Number")
else:
print(i, "is not a Fibonacci Number")
আউটপুট
1 is a Fibonacci Number 2 is a Fibonacci Number 3 is a Fibonacci Number 4 is not a Fibonacci Number 5 is a Fibonacci Number 6 is not a Fibonacci Number 7 is not a Fibonacci Number 8 is a Fibonacci Number 9 is not a Fibonacci Number 10 is not a Fibonacci Number
সকল ফাংশন এবং চরবিশেষ নিচের ছবিতে দেখানো গ্লোবাল ফ্রেমে ঘোষণা করা হয়েছে:

উপসংহার
এই আর্টিকেলে আমরা শিখেছি কিভাবে দেওয়া সংখ্যাটি ফিবোনাচ্চি কিনা তা শনাক্ত করতে হয়।