কম্পিউটার

n বৈধ বন্ধনী সিকোয়েন্স খুঁজে পেতে C++ প্রোগ্রাম


ধরুন আমাদের একটি সংখ্যা n আছে। আমরা জানি, একটি বন্ধনী ক্রম হল একটি স্ট্রিং যাতে শুধুমাত্র "(" এবং ")" অক্ষর থাকে। একটি বৈধ বন্ধনী ক্রম হল একটি বন্ধনী ক্রম যা ক্রমটির মূল অক্ষরগুলির মধ্যে "1" এবং "+" অক্ষর সন্নিবেশ করে একটি সঠিক গাণিতিক অভিব্যক্তিতে রূপান্তরিত হতে পারে। সুতরাং, যদি একটি বন্ধনী ক্রম "()()" এর মত হয় তবে এটি বৈধ কারণ আমরা 1 এর মত "(1)+(1)" রাখতে পারি। সংখ্যা n থেকে, আমাদের 2n দৈর্ঘ্যের সঠিক n ভিন্ন সম্ভাব্য বৈধ বন্ধনী ক্রম খুঁজে বের করতে হবে।

সুতরাং, যদি ইনপুটটি n =4 এর মত হয়, তবে আউটপুট হবে ["()()()()", "(())()()", "((()))()", "(((()))"]

পদক্ষেপ

এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -

for initialize k := 1, when k <= n, update (increase k by 1), do:
   for initialize i := 1, when i <= k, update (increase i by 1), do:
      print "("
   for initialize i := 1, when i <= k, update (increase i by 1), do:
      print ")"
   for initialize i := k + 1, when i <= n, update (increase i by 1), do:
      print "()"
   go to next line

উদাহরণ

আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -

#include <bits/stdc++.h>
using namespace std;

void solve(int n) {
   for (int k = 1; k <= n; k++) {
      for (int i = 1; i <= k; i++)
         cout << "(";
      for (int i = 1; i <= k; i++)
         cout << ")";
      for (int i = k + 1; i <= n; i++)
         cout << "()";
      cout << endl;
   }
}
int main() {
   int n = 4;
   solve(n);
}

ইনপুট

4

আউটপুট

()()()()
(())()()
((()))()
(((())))

  1. C++ এ একটি লাইনের মধ্যবিন্দু খুঁজে বের করার জন্য প্রোগ্রাম

  2. C++ এ ত্রিভুজের সেন্ট্রোয়েড খুঁজে বের করার প্রোগ্রাম

  3. C++ এ একটি পেন্টাগনের এলাকা খুঁজে বের করার প্রোগ্রাম

  4. C++ এ সমান্তরালগ্রামের ক্ষেত্রফল বের করার প্রোগ্রাম