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

C++ में यूलेरियन नंबर

गणित में, यूलेरियन संख्या एक विशेष प्रकार की संयोजन संख्या है। यह उन क्रमपरिवर्तनों की संख्या को परिभाषित करता है जिनमें अगला तत्व पिछले वाले की तुलना में एक विशिष्ट संख्या है।

के रूप में चिह्नित,

ए(एन, एम) 1 से n तक का क्रमचय है जिसमें दो संख्याएँ m से भिन्न होती हैं।

समस्या कथन: इस समस्या में, हमें दो संख्याएँ m और n दी गई हैं। और हमें उन क्रमपरिवर्तनों की संख्या ज्ञात करनी है जो यूलेरियन संख्या हैं।

समस्या को समझने के लिए एक उदाहरण लेते हैं,

इनपुट: एन =4, एम =2

आउटपुट: 11

स्पष्टीकरण:

1 से 4 तक की संख्या के सभी क्रमपरिवर्तन हैं -

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

सभी 11 क्रमपरिवर्तनों में से दो संख्याओं m के बीच का अंतर है।


समाधान दृष्टिकोण -

क्रमपरिवर्तनों की संख्या ज्ञात करने के लिए, हम यूलेरियन संख्या के सूत्र का उपयोग करेंगे,

A(n, m) =0, यदि m> n या n =0
ए (एन, एम) =1, अगर एम =0
A(n, m) =(n-m)A(n-1, m-1) + (m+1)A(n-1, m)


हमारे समाधान की कार्यप्रणाली को दर्शाने वाला कार्यक्रम,

उदाहरण


#include <iostream>
using namespace std;

int countEulerianNumber(int n, int m)
{
   if (m >= n || n == 0)
      return 0;
   if (m == 0)
      return 1;
   return ( ( (n - m) * countEulerianNumber(n - 1, m - 1) ) + ( (m + 1) * countEulerianNumber(n - 1, m) ) );
}

int main() {

   int n = 5, m = 3;
   cout<<"The number of Eulerian permutations is "<<countEulerianNumber(n, m);
   return 0;
}

आउटपुट -

The number of Eulerian permutations is 26

  1. C++ में मितव्ययी संख्या

    इस समस्या में, हमें एक धनात्मक पूर्णांक N दिया जाता है। हमारा कार्य यह जाँचने के लिए एक प्रोग्राम बनाना है कि दी गई संख्या मितव्ययी संख्या है या नहीं। मितव्ययी संख्या - एक संख्या जिसके अंकों की संख्या दी गई संख्या के अभाज्य गुणनखंड में अंकों की संख्या से अधिक है। उदाहरण − 625, संख्या 625 का अभाज्

  1. सी++ पेंटाटोप नंबर

    पास्कल के त्रिभुज में एक पंचकोण संख्या को पाँचवीं संख्या के रूप में वर्णित किया गया है। अब, जैसा कि आप जानते हैं, यह पांचवीं संख्या है, तो इसका मतलब है कि हमारे पास पास्कल के त्रिकोण में कम से कम पांच संख्याएं होनी चाहिए, इसलिए इस श्रृंखला की पहली संख्या 1 4 6 4 1 से शुरू होती है। पास्कल त्रिभुज की

  1. C++ में एडम नंबर

    इस खंड में हम देखेंगे कि एक प्रोग्राम कैसे लिखा जाता है जो यह जांच सकता है कि दी गई संख्या एडम नंबर है या नहीं। कोड में गोता लगाने से पहले आइए देखें कि एडम नंबर क्या है? आदम संख्या एक संख्या है मान लीजिए n, तो यदि n का वर्ग और n के विपरीत का वर्ग एक-दूसरे के विपरीत हों, तो वह संख्या आदम संख्या होती