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