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

C++ में परम्यूटेशन का अनुमान लगाने के लिए आवश्यक चालों की संख्या


एक संख्या N दी गई है, हमें सबसे खराब स्थिति में परम्यूटेशन का अनुमान लगाने के लिए आवश्यक चालों की संख्या ढूंढनी है। परम्यूटेशन का अनुमान लगाने के लिए आवश्यक चालों की संख्या n! होगी। आइए एक उदाहरण लेते हैं।

इनपुट

5

आउटपुट

129

जब हमारे पास 5 तत्व होते हैं, तो हमारे पास अनुमान लगाने के 5 तरीके होते हैं, और जब 4 तत्व होते हैं तो 4 तरीके होते हैं और यह 1 तक जारी रहता है।

एल्गोरिदम

  • संख्या n को आरंभ करें।
  • काउंट को 1 पर आरंभ करें।
  • एक लूप लिखें जो 1 से n तक पुनरावृति करता है।
    • काउंट को वर्तमान संख्या से गुणा करें।
  • काउंट लौटाएं।

कार्यान्वयन

उपरोक्त एल्गोरिदम का C++ में कार्यान्वयन निम्नलिखित है:

#include <bits/stdc++.h> using namespace std; int getNumberMoves(int n) {    int count = 0;    for (int i = 1; i <= n; i++) {       count += i * (n - i);    }    count += n;    return count; } int main() {    int n = 9;    cout << getNumberMoves(n) << endl;    return 0; }

आउटपुट

यदि आप उपरोक्त कोड चलाते हैं, तो आपको निम्नलिखित परिणाम मिलेगा।

129
  1. C++ में आयत में वर्गों की संख्या गिनना C++ में आयत में वर्गों की संख्या गिनना

    =B। लक्ष्य LxB आकार के आयत में समायोजित किए जा सकने वाले वर्गों की संख्या ढूंढना है। उपरोक्त आकृति 3x2 आकार के एक आयत को दर्शाती है। इसमें 2, 2x2 वर्ग और 6, 1x1 वर्ग हैं। कुल वर्ग = 6+2=8। LxB आकार के हर आयत में L*B संख्या के 1x1 वर्ग होते हैं। सबसे बड़े वर्ग BxB आकार के होते हैं। L=B=1 के लिए, वर

  1. - C++ में आवश्यक योग प्राप्त करने के लिए 2 की घातें

    इस समस्या में, हमें एक पूर्णांक N दिया गया है। हमारा कार्य उन संख्याओं को प्रिंट करना है जिन्हें 2 की घात पर उठाने पर वह संख्या प्राप्त होती है।आइए एक उदाहरण से समझते हैं:इनपुट - 17आउटपुट - 0, 4व्याख्या - 17 = 24 + 20 = 16 + 1इस समस्या को हल करने के लिए, हम संख्या को 2 से पुनरावर्ती रूप से विभाजित क

  1. - C++ में N को 25 से विभाज्य बनाने के लिए दिए गए मूव्स की न्यूनतम संख्या

    समस्या कथन अग्रणी शून्य के बिना एक संख्या N दी गई है। N को 25 से विभाज्य बनाने के लिए आवश्यक न्यूनतम मूव्स की संख्या ढूंढें। प्रत्येक मूव में, कोई भी दो आसन्न अंकों को स्वैप कर सकता है और यह सुनिश्चित करना होगा कि किसी भी समय संख्या में कोई अग्रणी शून्य न हो। यदि N को 25 से विभाज्य बनाना संभव नहीं ह