কম্পিউটার

C++ এ নিউম্যান-শ্যাঙ্কস-উইলিয়ামস প্রাইম


নিউম্যান-শ্যাঙ্কস-উইলিয়ামস প্রাইম সিকোয়েন্সটি নিম্নরূপ

1, 1, 3, 7, 17, 41...

আমরা যদি সিকোয়েন্স আইটেমগুলিকে সাধারণীকরণ করি, আমরা পাই

a0=1
a1=1
an=2*a(n-1)+a(n-2)

অ্যালগরিদম

  • সংখ্যা n শুরু করুন।
  • ক্রম 1 এবং 1 এর প্রথম সংখ্যা শুরু করুন।
  • একটি লুপ লিখুন যা n.
      পর্যন্ত পুনরাবৃত্তি করে
    • পূর্ববর্তী সংখ্যা ব্যবহার করে পরবর্তী সংখ্যা গণনা করুন।
    • আগের দুটি সংখ্যা আপডেট করুন।
  • শেষ নম্বরটি ফেরত দিন।

বাস্তবায়ন

C++

-এ উপরের অ্যালগরিদমের বাস্তবায়ন নিচে দেওয়া হল
#include <bits/stdc++.h>
using namespace std;
int getNthTerm(int n) {
   if(n == 0 || n == 1) {
      return 1;
   }
   int a = 1, b = 1;
   for(int i = 3; i <= n; ++i) {
      int c = 2 * b + a;
      a = b;
      b = c;
   }
   return b;
}
int main() {
   int n = 5;
   cout << getNthTerm(n) << endl;
   return 0;
}

আউটপুট

আপনি যদি উপরের কোডটি চালান, তাহলে আপনি নিম্নলিখিত ফলাফল পাবেন।

17

  1. C++ এ প্রাইম ট্রিপলেট

  2. C++ এ Mersenne প্রাইম নম্বর।

  3. C++ এ ব্যালেন্সড প্রাইম

  4. একটি সংখ্যা C++ এ ফুল প্রাইম কিনা তা পরীক্ষা করুন