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

2N संख्याओं का क्रमचय इस प्रकार ज्ञात कीजिए कि दिए गए व्यंजक का परिणाम C++ में ठीक 2K हो

मान लीजिए कि हमारे पास दो पूर्णांक N और K हैं। हमें प्राकृतिक संख्याओं की 2N संख्या का पहला क्रमचय ज्ञात करना है, ताकि निम्नलिखित समीकरण संतुष्ट हो।

$$\displaystyle\sum\limits_{i=1}^N\lvert A_{2i-1}-A_{2i}\rvert+\lvert \displaystyle\sum\limits_{i=1}^N A_{2i-1 }-A_{2i} \rvert=2K$$

K का मान N से कम या उसके बराबर होना चाहिए। उदाहरण के लिए, यदि N =4 और K =1 है, तो आउटपुट 2 1 3 4 होगा। दिए गए व्यंजक का परिणाम होगा (|2 - 1| + | 3 - 4|) - (|2 - 1 + 3 - 4|) =2.

विचार सरल है, मान लें कि हमारे पास एक क्रमबद्ध क्रम है जैसे 1, 2, 3, 4, 5, 6,…। यदि हम किन्हीं दो सूचकांकों 2i - 1 और 2i की अदला-बदली करते हैं, तो परिणाम ठीक 2 से बढ़ जाएगा। हमें K को ऐसे स्वैप करने की आवश्यकता है।

उदाहरण

#include<iostream>
using namespace std;
void showPermutations(int n, int k) {
   for (int i = 1; i <= n; i++) {
      int a = 2 * i - 1;
      int b = 2 * i;
      if (i <= k)
         cout << b << " " << a << " ";
      else
         cout << a << " " << b << " ";
   }
}
int main() {
   int n = 4, k = 2;
   showPermutations(n, k);
}

आउटपुट

2 1 4 3 5 6 7 8

  1. एक बिंदु खोजें जैसे कि मैनहट्टन दूरियों का योग C++ में न्यूनतम हो

    मान लीजिए हमारे पास K आयाम स्थान में n अलग-अलग बिंदु हैं, n का मान श्रेणी (2, 105) में है, और k का मान श्रेणी (1 से 5) में है। हमें उस बिंदु को इस तरह निर्धारित करना होगा कि परिणामी बिंदु से n बिंदुओं तक मैनहट्टन की दूरी का योग कम से कम हो। इस समस्या को हल करने के लिए, हमें सभी K आयामों में बिंदुओ

  1. दी गई श्रेणी में एक अलग जोड़ी (x, y) खोजें जैसे कि x, y को C++ में विभाजित करता है

    यहां हम एक दिलचस्प समस्या देखेंगे, हमें एक जोड़ी (x, y) मिलेगी, जहां x और y श्रेणी में हैं इसलिए l <=x, y <=r, जोड़ी में एक संपत्ति होगी, x का मान y को विभाजित करता है . यदि कई जोड़े उपलब्ध हैं, तो केवल एक को चुनें। हम इस समस्या को O(1) समय में हल कर सकते हैं, यदि हमें निचली सीमा l और 2l का मान प्र

  1. C++ में दिए गए सूचकांकों के साथ N फाइबोनैचि संख्याओं की GCD ज्ञात कीजिए

    यहाँ हमें दिए गए सूचकांकों के साथ n फाइबोनैचि पदों की GCD ज्ञात करनी है। तो सबसे पहले हमें अधिकतम सूचकांक प्राप्त करना होगा, और फाइबोनैचि शब्द उत्पन्न करना होगा, कुछ फाइबोनैचि शब्द इस प्रकार हैं:0, 1, 1, 2, 3, 5, 8, 13, 21, 34, ….. सूचकांक शुरू होता है 0 से। तो तत्व 0th . पर सूचकांक 0 है। यदि हमें स