কম্পিউটার

n দিয়ে শুরু হওয়া সমস্ত সিকোয়েন্স প্রিন্ট করুন এবং C++ এ k পর্যন্ত সীমাবদ্ধ ধারাবাহিক পার্থক্য


এই সমস্যায়, আমাদের তিনটি ভেরিয়েবল দেওয়া হয়েছে n, s, এবং k এবং আমাদের সমস্ত সম্ভাব্য ক্রমগুলি প্রিন্ট করতে হবে যেগুলি n এবং দৈর্ঘ্য s দিয়ে শুরু হয় যার মধ্যে পরম পার্থক্য রয়েছে k এর থেকে কম উপাদান।

বিষয়টি আরও ভালোভাবে বোঝার জন্য একটি উদাহরণ নেওয়া যাক -

Input: n = 3, s = 3 , k = 2
Output:
3 3 3
3 3 4
3 3 2
3 4 4
3 4 5
3 4 3
3 2 2
3 2 3
3 2 1

এই সমস্যায়, আমাদের পরম পার্থক্য কম k পেতে হবে। এর জন্য, আমরা একটি ক্রম পেতে পারি যে উপাদানগুলি ইতিবাচক পার্থক্য পেতে বড় এবং একটি নেতিবাচক পার্থক্য পেতে কম৷

এর জন্য, আমরা n দিয়ে শুরু করব এবং প্রতিটি ধারাবাহিক অবস্থানে উপাদানগুলির জন্য একটি পুনরাবৃত্তিমূলক কল করব। 0 থেকে k-1 থেকে একটি লুপ এবং এটি সংখ্যার সাথে সংখ্যার সাথে যোগ করুন। একইভাবে নেতিবাচক দিকেও যাচ্ছে।

উদাহরণ

#include <bits/stdc++.h>
using namespace std;
void printConsicutiveNumbers(vector& v, int n, int s, int k){
   if (s == 0) {
      for (int i = 0; i < v.size(); i++)
         cout<<v[i]<<" ";
      cout << endl;
      return;
   }
   for (int i = 0; i < k; i++) {
      v.push_back(n + i);
      printConsicutiveNumbers(v, n + i, s - 1, k);
      v.pop_back();
   }
   for (int i = 1; i < k; i++) {
      v.push_back(n - i);
      printConsicutiveNumbers(v, n - i, s - 1, k);
      v.pop_back();
   }
}
int main(){
   int n = 3, s = 3, k = 2;
   cout<<"The sequence is :\n";
   vector<int> v;
   v.push_back(n);
   printConsicutiveNumbers(v, n, s - 1, k);
   return 0;
}

আউটপুট

ক্রম হল −

3 3 3
3 3 4
3 3 2
3 4 4
3 4 5
3 4 3
3 2 2
3 2 3
3 2 1

  1. C++ তে বিজোড় এবং জোড় সংখ্যার নোড সহ সমস্ত স্তর প্রিন্ট করুন

  2. C++ এ 3 এবং 5 দ্বারা বিভাজ্য সমস্ত সংখ্যা প্রিন্ট করার প্রোগ্রাম

  3. Go এবং C++ এর মধ্যে পার্থক্য।

  4. একটি অ্যারের (C++) মধ্যে সব জোড়া জোড়া ধারাবাহিক উপাদানের পরম পার্থক্য?