নিউম্যান-শ্যাঙ্কস-উইলিয়ামস প্রাইম সিকোয়েন্সটি নিম্নরূপ
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