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

सी ++ प्रोग्राम एन चोटियों के साथ क्रमपरिवर्तन खोजने के लिए

मान लीजिए कि हमारे पास दो संख्याएँ n और k हैं। हमें 1 से n तक की संख्याओं का उपयोग करके एक क्रमचय A का निर्माण करना है, जिसमें ठीक k चोटियाँ हैं। यदि A[i]> A[i-1] और A[i]> A[i+1], तो अनुक्रमणिका i को सरणी A का शिखर कहा जाता है। अगर यह संभव नहीं है, तो -1 लौटें।

तो, अगर इनपुट n =5 की तरह है; k =2, तो आउटपुट [2, 4, 1, 5, 3] होगा, अन्य उत्तर भी संभव हैं।

कदम

इसे हल करने के लिए, हम इन चरणों का पालन करेंगे -

if k > (n - 1) / 2, then:
   return -1
Define an array a of size: 101.
for initialize i := 1, when i <= n, update (increase i by 1), do:
   a[i] := i
for initialize i := 2, when i <= 2 * k, update i := i + 2, do:
   swap a[i] and a[i + 1]
for initialize i := 1, when i <= n, update (increase i by 1), do:
   print a[i]
प्रिंट करें

उदाहरण

आइए बेहतर समझ पाने के लिए निम्नलिखित कार्यान्वयन देखें -

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

void solve(int n, int k) {
   if (k > (n - 1) / 2) {
      cout << "-1";
      return;
   }
   int a[101];
   for (int i = 1; i <= n; i++)
      a[i] = i;
   for (int i = 2; i <= 2 * k; i += 2) {
      swap(a[i], a[i + 1]);
   }
   for (int i = 1; i <= n; i++)
      cout << a[i] << ", ";
}
int main() {
   int n = 5;
   int k = 2;
   solve(n, k);
}

इनपुट

5, 2

आउटपुट

1, 3, 2, 5, 4,

  1. एलसीएम खोजने के लिए सी ++ प्रोग्राम

    दो संख्याओं का अल्पतम समापवर्तक (LCM) वह छोटी से छोटी संख्या है जो दोनों का गुणज है। उदाहरण के लिए:मान लें कि हमारे पास निम्नलिखित दो संख्याएं हैं:15 और 9. 15 = 5 * 3 9 = 3 * 3 तो, 15 और 9 का एलसीएम 45 है। दो संख्याओं का LCM ज्ञात करने का कार्यक्रम इस प्रकार दिया गया है - उदाहरण #include <iost

  1. सी ++ प्रोग्राम जीसीडी खोजने के लिए

    दो संख्याओं का सबसे बड़ा सामान्य भाजक (GCD) उन दोनों को विभाजित करने वाली सबसे बड़ी संख्या है। उदाहरण के लिए:मान लें कि हमारे पास 45 और 27 दो संख्याएँ हैं। 45 = 5 * 3 * 3 27 = 3 * 3 * 3 तो, 45 और 27 का GCD 9 है। दो संख्याओं का GCD ज्ञात करने का कार्यक्रम इस प्रकार दिया गया है। उदाहरण #include <

  1. सी ++ प्रोग्राम फैक्टोरियल खोजने के लिए

    एक गैर-ऋणात्मक पूर्णांक n का गुणनखंड उन सभी धनात्मक पूर्णांकों का गुणनफल होता है जो n से कम या उसके बराबर होते हैं। उदाहरण के लिए:5 का भाज्य 120 है। 5! = 5 * 4 * 3 * 2 *1 5! = 120 एक पूर्णांक का भाज्य एक पुनरावर्ती कार्यक्रम या एक गैर-पुनरावर्ती कार्यक्रम का उपयोग करके पाया जा सकता है। इन दोनों का