কম্পিউটার

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


এই সমস্যায়, আমাদের একটি সংখ্যা দেওয়া হয়েছে। আমাদের কাজ হল C++ এ Nth ফিবোনাচি সংখ্যার শেষ দুটি সংখ্যা খুঁজে বের করার জন্য একটি প্রোগ্রাম তৈরি করা।

সমস্যা বর্ণনা

আমাদের Nth Fibonacci সংখ্যার শেষ দুটি সংখ্যা (যেমন দুটি LSB's) খুঁজে বের করতে হবে। সমস্যাটি বোঝার জন্য একটি উদাহরণ দেওয়া যাক,

ইনপুট :N =120

আউটপুট :৮১

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

Nth শব্দটি খুঁজে পেতে একটি সহজ সমাধান হল সরাসরি ফিবোনাচি সূত্র ব্যবহার করা। কিন্তু N একটি বড় সংখ্যা হলে এই পদ্ধতিটি সম্ভব হবে না। সুতরাং এটি কাটিয়ে উঠতে, আমরা ফিবোনাচি সিরিজের বৈশিষ্ট্য ব্যবহার করব যা শেষ দুটি সংখ্যা 300 পদের পরে পুনরাবৃত্তি করে। অর্থাৎ 75তম পদের শেষ দুটি সংখ্যা 975তম পদের সমান।

এর মানে হল যে 300 পর্যন্ত কাজ করা আমাদের সমস্ত সম্ভাব্য সমন্বয় দেবে এবং কোন শব্দটি ব্যবহার করতে হবে তা খুঁজে বের করতে আমরা 300 এর সাথে সংখ্যার মোড খুঁজে পাব।

উদাহরণ

#include <iostream>
using namespace std;
long int fibo(int N){
   long int a=0,b=1,c;
   for(int i=2; i<= N;i++) {
      c=a+b; a=b; b=c;
   }
   return c;
}
int findLastTwoDigitNterm(int N) {
   N = N % 300;
   return ( fibo(N)%100);
}
int main() {
   int N = 683;
   cout<<"The last two digits of "<<N<<"th Fibonacci term are "<<findLastTwoDigitNterm(N);
   return 0;
}

আউটপুট

The last two digits of 683th Fibonacci term are 97

  1. C++ ব্যবহার করে N ফ্যাক্টোরিয়ালের যোগফলের শেষ দুটি সংখ্যা খুঁজুন।

  2. একটি সংখ্যা দুটির শক্তি কিনা তা খুঁজে বের করার জন্য C++ প্রোগ্রাম?

  3. একটি গ্রাফে আর্টিকুলেশন পয়েন্টের সংখ্যা খুঁজে পেতে C++ প্রোগ্রাম

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