ফিবোনাচ্চি সিকোয়েন্স নিচের প্রকার:
0, 1, 1, 2, 3, 5, 8, 13, 21, 34, 55, ...
এই সিকোয়েন্সে nth পদ হল (n-1)তম এবং (n-2)তম পদের যোগফল।
রিকার্সিভ পদ্ধতিতে এটি করা যায়, কিন্তু ডাইনামিক প্রোগ্রামিং-এ পদ্ধতি সহজ। এখানে একটি টেবিলে সকল ফিবোনাচ্চি সংখ্যা সংরক্ষণ করা হয় এবং সেই টেবিল ব্যবহার করে পরবর্তী পদগুলো সহজে জেনারেট করা যায়।
ইনপুট এবং আউটপুট
ইনপুট: পদ সংখ্যা ইনপুট হিসেবে নিন। ধরা যাক ১০ আউটপুট: Enter number of terms: 10 10th Fibonacci Terms: 55
অ্যালগরিদম
genFiboSeries(n)
ইনপুট: সর্বোচ্চ পদ সংখ্যা।
আউটপুট: nth ফিবোনাচ্চি পদ।
শুরু
fibo নামক n+2 আকারের অ্যারে সংজ্ঞায়িত করুন
fibo[0] := 0
fibo[1] := 1
i := 2 থেকে n পর্যন্ত, করুন
fibo[i] := fibo[i-1] + fibo[i-2]
শেষ
fibo[n] ফেরত দিন
শেষ
উদাহরণ (C++)
#include <iostream>
using namespace std;
int genFibonacci(int n) {
int fibo[n+2];
fibo[0] = 0;
fibo[1] = 1;
for (int i = 2; i <= n; i++) {
fibo[i] = fibo[i-1] + fibo[i-2];
}
return fibo[n];
}
int main() {
int n;
cout << "Enter number of terms: "; cin >> n;
cout << n << "th Fibonacci Terms: " << genFibonacci(n) << endl;
}
আউটপুট
Enter number of terms: 10 10th Fibonacci Terms: 55