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

सी ++ में अद्वितीय प्राकृतिक संख्याओं की एन-वें शक्ति के योग के रूप में एक पूर्णांक व्यक्त करने के तरीके खोजें

इस ट्यूटोरियल में, हम एक प्रोग्राम लिखने जा रहे हैं जो एक पूर्णांक को अद्वितीय संख्याओं की दी गई n-th शक्ति के योग के रूप में व्यक्त करने के तरीकों की संख्या ज्ञात करता है।

हमारे पास दो पूर्णांक हैं संख्या और शक्ति . और हमें यह पता लगाने की जरूरत है कि दिए गए संख्या . को हम कितने तरीकों से निरूपित कर सकते हैं अद्वितीय प्राकृतिक संख्याओं की n-वें शक्ति के योग के रूप में। आइए एक उदाहरण देखें।

इनपुट − संख्या =50, शक्ति =2

आउटपुट -3

केवल एक ही संभव तरीका है जिससे हम 4 को 2 घातों के योग के रूप में लिख सकते हैं।

हम समस्या को हल करने के लिए रिकर्सन का उपयोग करेंगे। आइए समस्या को हल करने के लिए चरणों को देखें।

  • संख्या और शक्ति को प्रारंभ करें।

  • एक उपयुक्त नाम के साथ एक पुनरावर्ती कार्य लिखें। यह नंबर स्वीकार करता है , शक्ति और मैं तर्क के रूप में।

  • यदि संख्या शून्य से कम है या पाउ(i, पावर) संख्या . से बड़ा है , फिर वापस 0.

  • यदि संख्या शून्य है या पाउ (i, शक्ति) संख्या के बराबर है, तो 1 लौटाएं।

  • कार्यों की कुल संख्या की गणना करने के लिए हमारे पास दो पुनरावर्ती कॉल हैं

    • i . बढ़ाएं ।

    • पहले रिकर्सिव कॉल में, दिए गए नंबर से कम नंबर की जांच करें।

    • दूसरी पुनरावर्ती कॉल में, दिए गए नंबर की जांच करें।

उदाहरण

आइए कोड देखें।

#include <bits/stdc++.h>
using namespace std;
int findPossibleWaysCount(int number, int power, int i = 1) {
   if(number < 0 || number < pow(i, power)) {
      return 0;
   }
   if(number == 0 || number == pow(i, power)) {
      return 1;
   }
   return findPossibleWaysCount(number - pow(i, power), power, i + 1) + findPossibleWaysCount(number, power, i + 1);
}
int main() {
   // initializing the number and power
   int number = 50, power = 2;
   cout << findPossibleWaysCount(number, power) << endl;
   return 0;
}

आउटपुट

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

3

निष्कर्ष

यदि ट्यूटोरियल में आपके कोई प्रश्न हैं, तो उनका टिप्पणी अनुभाग में उल्लेख करें।


  1. जांचें कि क्या किसी संख्या को C++ में 2 त्रिकोणीय संख्याओं के योग के रूप में दर्शाया जा सकता है

    इस भाग में हम देखेंगे कि क्या हम एक संख्या को दो त्रिभुजाकार संख्याओं के योग के रूप में व्यक्त कर सकते हैं या नहीं। त्रिकोणीय संख्याएं नीचे की तरह हैं - उदाहरण से हम देख सकते हैं कि 1, 3, 6, 10 कुछ त्रिभुजाकार संख्याएँ हैं। हमें एक संख्या N (मान लीजिए 16) को दो त्रिभुजाकार संख्याओं (6, 10) के योग

  1. सी ++ प्रोग्राम रिकर्सन का उपयोग करके प्राकृतिक संख्याओं का योग खोजने के लिए

    प्राकृत संख्याएं 1 से शुरू होने वाली धनात्मक पूर्णांक होती हैं। प्राकृत संख्याओं का क्रम है - 1, 2, 3, 4, 5, 6, 7, 8, 9, 10…… रिकर्सन का उपयोग करके पहले n प्राकृतिक संख्याओं का योग ज्ञात करने का कार्यक्रम इस प्रकार है। उदाहरण #include <iostream> using namespace std; int sum(int

  1. पायथन में अद्वितीय संख्याओं की nth शक्ति के योग के रूप में एक संख्या प्राप्त करने के कई तरीकों को खोजने के लिए कार्यक्रम

    मान लीजिए हमारे पास एक संख्या x और दूसरी संख्या n है। हमें कुछ अद्वितीय संख्याओं के nवें घात के योग के रूप में x प्राप्त करने के कई तरीके खोजने होंगे। इसलिए, यदि इनपुट x =100 n =2 जैसा है, तो आउटपुट 3 होगा क्योंकि संभावित समाधान 6^2 + 8^2, 10^2 और 1^2 + 3^2 + 4^2 + 5^ हैं। 2 + 7^2. इसे हल करने के