এখানে আমরা একটি প্রোগ্রাম দেখতে পাব, যেটি ড্রাগন কার্ভ সিকোয়েন্সের nম পদ খুঁজে পেতে পারে। ড্রাগন কার্ভ সিকোয়েন্স হল একটি অসীম বাইনারি সিকোয়েন্স। এটি 1 দিয়ে শুরু হয় এবং প্রতিটি ধাপে, এটি বিকল্পভাবে পূর্ববর্তী পদের প্রতিটি উপাদানের আগে এবং পরে 1s এবং 0s যোগ করে, পরবর্তী টার্ম গঠন করে।
- টার্ম 1 :1
- টার্ম 2 :110
- টার্ম 3 :1101100
- টার্ম 4 :110110011100100
আমরা 1 দিয়ে শুরু করব, তারপর 1 এবং 0 যোগ করব, বিকল্পভাবে পূর্ববর্তী পদের প্রতিটি উপাদানের পরে। যখন প্রাপ্ত নতুন শব্দটি বর্তমান পদে পরিণত হয়, তখন পরবর্তী পদগুলি তৈরি করতে 1 থেকে n পর্যন্ত ধাপগুলি পুনরাবৃত্তি করুন৷
উদাহরণ
#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]; //take character from original string 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); }
আউটপুট
4th term of Dragon Curve Sequence: 110110011100100