Computer >> कंप्यूटर >  >> प्रोग्रामिंग >> सी प्रोग्रामिंग

पहले N प्राकृत संख्याओं को इस प्रकार व्यवस्थित करें कि सभी आसन्न तत्वों के बीच पूर्ण अंतर> 1?

हमारे पास पहली एन प्राकृतिक संख्याएं हैं। हमारा कार्य उनमें से एक क्रमपरिवर्तन प्राप्त करना है जहां प्रत्येक दो लगातार तत्वों के बीच पूर्ण अंतर> 1 है। यदि ऐसा कोई क्रमपरिवर्तन मौजूद नहीं है, तो वापसी -1।

दृष्टिकोण सरल है। हम लालची दृष्टिकोण का उपयोग करेंगे। हम सभी विषम संख्याओं को बढ़ते या घटते क्रम में व्यवस्थित करेंगे, फिर सभी सम संख्याओं को घटते या बढ़ते क्रम में व्यवस्थित करेंगे

एल्गोरिदम

व्यवस्थाएन(एन)

Begin
   if N is 1, then return 1
   if N is 2 or 3, then return -1 as no such permutation is not present
   even_max and odd_max is set as max even and odd number less or equal to n
   arrange all odd numbers in descending order
   arrange all even numbers in descending order
End

उदाहरण

#include <iostream>
using namespace std;
void arrangeN(int N) {
   if (N == 1) { //if N is 1, only that will be placed
      cout << "1";
      return;
   }
   if (N == 2 || N == 3) { //for N = 2 and 3, no such permutation is available
      cout << "-1";
      return;
   }
   int even_max = -1, odd_max = -1;
   //find max even and odd which are less than or equal to N
   if (N % 2 == 0) {
      even_max = N;
      odd_max = N - 1;
   } else {
      odd_max = N;
      even_max = N - 1;
   }
   while (odd_max >= 1) { //print all odd numbers in decreasing order
      cout << odd_max << " ";
      odd_max -= 2;
   }
   while (even_max >= 2) { //print all even numbers in decreasing order
      cout << even_max << " ";
      even_max -= 2;
   }
}
int main() {
   int N = 8;
   arrangeN(N);
}

आउटपुट

7 5 3 1 8 6 4 2

  1. प्रथम n प्राकृत संख्याओं के घन योग के लिए C प्रोग्राम?

    इस समस्या में हम देखेंगे कि हम पहली n प्राकृत संख्याओं के घनों का योग कैसे प्राप्त कर सकते हैं। यहां हम लूप के लिए एक का उपयोग कर रहे हैं, जो 1 से n तक चलता है। प्रत्येक चरण में हम पद के घन की गणना कर रहे हैं और फिर इसे योग में जोड़ रहे हैं। इस प्रोग्राम को पूरा होने में O(n) समय लगता है। लेकिन यदि

  1. अधिकतम N ज्ञात करें जैसे कि पहले N प्राकृतिक संख्याओं के वर्ग का योग Python में X से अधिक न हो

    मान लीजिए कि हमारे पास एक दिया गया पूर्णांक X है, हमें अधिकतम मान N ज्ञात करना है ताकि पहले N प्राकृतिक संख्याओं का योग मान X से अधिक न हो। इसलिए, यदि इनपुट X =7 जैसा है, तो आउटपुट 2 होगा क्योंकि 2 N का अधिकतम संभव मान है, N =3 के लिए, श्रृंखला का योग X =7 से अधिक होगा इसलिए, 1^2 + 2^ 2 + 3^2 =1 +

  1. पायथन का उपयोग करके दी गई सूची में आसन्न तत्वों के बीच अंतर की गणना करें

    इस लेख में हम देखेंगे कि हम सूची के आसन्न तत्वों में मूल्यों को घटाकर किसी दी गई सूची से एक नई सूची कैसे बनाते हैं। ऐसा करने के लिए हमारे पास कई तरीके हैं। परिशिष्ट और श्रेणी के साथ इस दृष्टिकोण में हम सूची तत्वों के माध्यम से उनके सूचकांक पदों का उपयोग करके मूल्यों को घटाकर और प्रत्येक घटाव के परि