কম্পিউটার

C++ এ Nth ইভেন ফিবোনাচি নম্বর খোঁজার প্রোগ্রাম


এই সমস্যায়, আমাদের একটি পূর্ণসংখ্যার মান দেওয়া হয়েছে। আমাদের কাজ হল Nth ইভেন ফিবোনাচি নম্বর খুঁজে পাওয়া .

ফিবোনাচি সিরিজ দুটি পূর্ববর্তী সংখ্যা যোগ করে পরবর্তী সংখ্যা তৈরি করে। ফিবোনাচি সিরিজ দুটি সংখ্যা থেকে শুরু হয় - F0 এবং F1। F0 এবং F1 এর প্রাথমিক মান যথাক্রমে 0, 1 বা 1, 1 নেওয়া যেতে পারে।

সমস্যাটি বোঝার জন্য একটি উদাহরণ নেওয়া যাক,

Input : N = 4
Output : 144

সমাধান পদ্ধতি

সমস্যার একটি সহজ সমাধান হল এই সত্যটি ব্যবহার করা যে ফিবোনাচি অনুক্রমের প্রতিটি তৃতীয় সংখ্যা জোড় এবং জোড় সংখ্যার ক্রমও পুনরাবৃত্তিমূলক সূত্র অনুসরণ করে।

এমনকি ফিবোনাচি সিকোয়েন্সের পুনরাবৃত্তিমূলক সূত্র হল −

Ef(n)=4Ef(n-1) + Ef(n-2) যেখানে Ef(0)=0 এবং Ef(1)=2

আমরা জানি যে প্রতি তৃতীয় ফিবোনাচি সংখ্যা সমান, এইভাবে f(n-3) এবং f(n-6) উভয়ই জোড়। সুতরাং, আমরা f(n) কে kth উপাদান হিসাবে বিবেচনা করব এবং Ef(k) হিসাবে চিহ্নিত করব। যদি f(n) হয় Ef(k), তাহলে f(n-3) হল পূর্ববর্তী জোড় সংখ্যা Ef(k-1) দ্বারা চিহ্নিত এবং এইভাবে f(n-6) হল Ef(k-1) এর আগের হল Ef(k-2)।

এইভাবে f(n)=4f(n-3)+f(n-6)

অথবা, Ef(k)=4Ef(k-1) + Ef(k-2)।

উদাহরণ

আমাদের সমাধানের কাজ চিত্রিত করার জন্য প্রোগ্রাম,

#include<iostream>
using namespace std;
int findNthEvenFiboNum(int n){
   if (n < 1)
      return n;
   if (n == 1)
      return 2;
   return ((4 * findNthEvenFiboNum(n-1)) + findNthEvenFiboNum(n- 2));
}
int main (){
   int n = 5;
   cout<<n<<"th even fibonacci number is "<<findNthEvenFiboNum(n);
   return 0;
}

আউটপুট

5th even fibonacci number is 610

  1. C++ এ Nth Fibonacci সংখ্যার শেষ দুটি সংখ্যা খুঁজে বের করার প্রোগ্রাম

  2. C++ প্রোগ্রামে একটি সংখ্যার জোড় গুণনীয়কের যোগফল বের করতে?

  3. একটি সংখ্যার জোড় গুণনীয়কের যোগফল বের করতে C++ প্রোগ্রাম?

  4. পাইথনে Nth ফিবোনাচি নম্বর খুঁজে বের করার প্রোগ্রাম