এখানে আমরা একটি প্রোগ্রাম দেখব যা ড্র্যাগন কার্ভ সিকোয়েন্সের nth টার্ম খুঁজে বের করতে পারে। ড্র্যাগন কার্ভ সিকোয়েন্স একটি অসীম বাইনারি সিকোয়েন্স। এটি ১ দিয়ে শুরু হয় এবং প্রতিটি ধাপে, এটি পिछले টার্মের প্রতিটি উপাদানের আগে এবং পরে ১ এবং ০ secara পরিবর্তনশীলভাবে যোগ করে পরবর্তী টার্ম তৈরি করে।
ড্র্যাগন কার্ভ সিকোয়েন্সের উদাহরণ
- টার্ম ১: ১
- টার্ম ২: ১১০
- টার্ম ৩: ১১০১১০০
- টার্ম ৪: ১১০১১০০১১১০০১০০
আমরা ১ দিয়ে শুরু করি, তারপর পिछले টার্মের প্রতিটি উপাদানের পরে ১ এবং ০ পরিবর্তনশীলভাবে যোগ করি। নতুন টার্ম প্রাপ্ত হলে, এটি বর্তমান টার্ম হয়ে যায় এবং ১ থেকে n পর্যন্ত ধাপগুলি পুনরাবৃত্তি করে পরবর্তী টার্মগুলি তৈরি করা হয়।
C++ প্রোগ্রাম উদাহরণ
#include <iostream>
using namespace std;
string dragCurveTerm(int n) {
string term = "1";
for (int i = 2; i <= n; i++) {
string temp = "1";
char prev = '1', zero = '0', one = '1';
for (int j = 0; j < term.length(); j++) {
temp += term[j]; // মূল স্ট্রিং থেকে ক্যারেক্টার নিন
if (prev == '0') {
temp += one;
prev = one;
} else {
temp += zero;
prev = zero;
}
}
term = temp;
}
return term;
}
int main() {
cout << "4th term of Dragon Curve Sequence: " << dragCurveTerm(4);
return 0;
}
আউটপুট
4th term of Dragon Curve Sequence: 110110011100100