কম্পিউটার

C++ এ ড্রাগন কার্ভ সিকোয়েন্সের nম পদ খুঁজুন


এখানে আমরা একটি প্রোগ্রাম দেখতে পাব, যেটি ড্রাগন কার্ভ সিকোয়েন্সের 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

  1. C++ এ a বা b দ্বারা বিভাজ্য Nth শব্দ খুঁজে বের করার প্রোগ্রাম

  2. সিরিজের Nম পদ খুঁজুন যেখানে প্রতিটি পদ f[i] =f[i – 1] – f[i – 2] C++ এ

  3. C++ এ বক্ররেখার একটি প্রদত্ত বিন্দুতে স্পর্শক খুঁজুন

  4. C++ এ বক্ররেখার একটি প্রদত্ত বিন্দুতে স্বাভাবিক খুঁজুন