Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> C++

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++ में विषम और सम संख्या वाले सभी स्तरों को प्रिंट करें

    इस समस्या में हमें एक पेड़ दिया जाता है। और हमें सभी स्तरों को सम संख्या में नोड्स और विषम संख्या में नोड्स के साथ प्रिंट करना होगा। आइए अवधारणा को बेहतर ढंग से समझने के लिए एक उदाहरण लेते हैं आउटपुट - Levels with odd number of nodes: 1, 3, 4 Levels with even number of nodes: 2 स्पष्टीकरण - पह

  1. गो और सी ++ के बीच अंतर।

    जाओ गो एक प्रक्रियात्मक प्रोग्रामिंग भाषा है। पैकेज का उपयोग करके कार्यक्रमों को इकट्ठा किया जाता है। यह गतिशील भाषाओं के समान पर्यावरण अपनाने वाले पैटर्न का समर्थन करता है। C++ C++ एक ऑब्जेक्ट ओरिएंटेड प्रोग्रामिंग लैंग्वेज है। C++ शांत तेज, विश्वसनीय और सुरक्षित है। यह सबसे व्यापक रूप से उपयोग क

  1. एक सरणी (सी ++) में सभी जोड़ीदार लगातार तत्वों का पूर्ण अंतर?

    इस समस्या में हम देखेंगे कि कैसे हम एक सरणी में तत्वों की प्रत्येक जोड़ी के तत्वों के बीच पूर्ण अंतर प्राप्त कर सकते हैं। यदि n तत्व हैं, तो परिणामी सरणी में n-1 तत्व होंगे। मान लीजिए कि तत्व {8, 5, 4, 3} हैं। परिणाम होगा |8-5| =3, तब |5-4| =1, |4-3|=1. एल्गोरिदम pairDiff(arr, n) begin