মনে করি F > 1 একটি ফিবোনাচ্চি সংখ্যা । তাহলে F কততম ফিবোনাচ্চি সংখ্যা তা বের করার জন্য নিচের সূত্রটি ব্যবহা করব ।

সূত্রটি যদি F এর মান এক এর চেয়ে বড় হয় তাহলে সঠিক ফলাফল দিবে ।
যেখানে :

উদাহরণ দিলে অারও পরিষ্কার হবে : 10 ও 100 এর মাঝে কতটি ফিবোনাচ্চি সংখ্যা অাছে তা বের করতে হবে । তা বের করার জন্য উপরের সূত্র ব্যবহার করে পাই 10(F) = 6 এবং 100(F) = 11 । বিয়োগফল 5 । সুতরাং 10 এবং 100 এর মাঝে 5 টি ফিবোনাচ্চি সংখ্যা অাছে । নিচে ফিবোনাচ্চি সংখ্যার সিরিজেও দেখা যাচ্ছে 10 ও 100 এর মাঝে 5 টি ফিবোনাচ্চি সংখ্যা অাছে ।

সি প্রোগ্রামিং ভাষায় যদি উপরের হিসেব করার প্রোগ্রাম :
[code language="c"]
#include <stdio.h>
#include <math.h>
int main()
{
double phi = (1+sqrt(5))/2;
int a, b,count = 0,aF,bF;
printf("Enter two numbers: \n");
scanf("%d%d",&a,&b);//Taking input a and b
//logarithm of x base b = log(x)/log(b)
aF = floor(log(a*sqrt(5)+0.5)/log(phi));
bF = floor(log(b*sqrt(5)+0.5)/log(phi));
count = bF - aF;
printf("\nThere are total %d fibonacci numbers.\n",count);
return 0;
}
[/code]
সূত্র ও ছবি : উইকিপিডিয়া ।
কোন মন্তব্য নেই:
একটি মন্তব্য পোস্ট করুন