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

C++ में किसी संख्या की विनम्रता का पता लगाएं


इस समस्या में, हमें एक धनात्मक पूर्णांक N दिया जाता है। हमारा कार्य किसी संख्या की शिष्टता ज्ञात करना है।

विनम्र संख्या एक संख्या है जिसे दो या अधिक क्रमागत संख्याओं के योग के रूप में व्यक्त किया जा सकता है।

संख्या की विनम्रता संख्या को क्रमागत पूर्णांकों के योग के रूप में व्यक्त करने के तरीकों की संख्या के रूप में परिभाषित किया जाता है।

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

इनपुट

n = 5

आउटपुट

1

स्पष्टीकरण

2 + 3 = 5, is the only consecutive sum.

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

समस्या का एक सरल समाधान यह है कि N तक सभी क्रमागत संख्याओं की जाँच करें और यदि उनका योग N के बराबर है, तो गिनती बढ़ाएँ जो संख्या की विनम्रता है।

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

If the number is represented as
N = ax * by * cz…
Politeness = [(x + 1)*(y +1)*(z + 1)... ] - 1

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

उदाहरण

#include <iostream>
using namespace std;
int calcPolitenessNumber(int n){
   int politeness = 1;
   while (n % 2 == 0)
      n /= 2;
   for (int i = 3; i * i <= n; i += 2) {
      int divCount = 0;
      while (n % i == 0) {
         n /= i;
         ++divCount;
      }
      politeness *= divCount + 1;
   }
   if (n > 2)
      politeness *= 2;
      return (politeness - 1);
}
int main(){
   int n = 13;
   cout<<"Politeness of "<<n<<" is "<<calcPolitenessNumber(n);
   return 0;
}

आउटपुट

Politeness of 13 is 1

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

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

  1. C++ . का उपयोग करके पेल नंबर खोजें

    दी गई समस्या में, हमें एक पूर्णांक n दिया गया है, हमें Pn . खोजने की आवश्यकता है , यानी, उस स्थिति में पेल नंबर। अब, जैसा कि हम जानते हैं, पेल नंबर इस सूत्र द्वारा दी गई श्रृंखला का एक हिस्सा है -Pn =2*पीएन-1 + पीएन-2 पहली दो शुरुआती संख्याओं के साथ - P0 =0 और पी1 =1 समाधान खोजने के लिए दृष्टिकोण

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

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