কম্পিউটার টিউটোরিয়াল

C++-এ Nth ফিবোনাচ্চি সংখ্যার শেষ দুটি অঙ্ক বের করার প্রোগ্রাম


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

সমস্যা বিবরণ

আমাদের Nth ফিবোনাচ্চি সংখ্যার শেষ দুটি অঙ্ক (অর্থাৎ দুটি LSB) বের করতে হবে। একটি উদাহরণ নিয়ে সমস্যাটি বুঝি,

ইনপুট: N = 120 

আউটপুট: 81

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

একটি সহজ সমাধান হবে সরাসরি ফিবোনাচ্চি সূত্র ব্যবহার করে Nth পদ বের করা। কিন্তু এই পদ্ধতি বড় সংখ্যার জন্য সম্ভব নয়। এটাকে অতিক্রম করতে, আমরা ফিবোনাচ্চি সিরিজের বৈশিষ্ট্য ব্যবহার করব যে শেষ দুটি অঙ্ক ৩০০ পদ পর পুনরাবৃত্তি হয়। অর্থাৎ ৭৫তম পদের শেষ দুটি অঙ্ক ৯৭৫তম পদের সাথে একই।

এটি বোঝায় ৩০০ পর্যন্ত কাজ করলে সব সম্ভাব্য কম্বিনেশন পাব এবং কোন পদটি ব্যবহার করতে হবে তা বের করার জন্য সংখ্যার ৩০০ দিয়ে মড বের করব।

উদাহরণ

#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++ প্রোগ্রাম: গ্রাফে আর্টিকুলেশন পয়েন্ট (Articulation Points) গণনা করা

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