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

C++ में संख्या की विनम्रता खोजें


इस समस्या में, हमें एक धनात्मक पूर्णांक N दिया गया है। हमारा कार्य संख्या की विनम्रता खोजना है।

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

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

आइए एक उदाहरण से इस समस्या को समझते हैं,

इनपुट

n = 5

आउटपुट

1

व्याख्या

2 + 3 = 5, एकमात्र क्रमागत योग है।

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

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

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

यदि संख्या को N = ax * by * cz... के रूप में दर्शाया जाता है विनम्रता = [(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++ में मितव्ययी संख्या (Frugal Number)

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

  1. - C++ का उपयोग करके पेल संख्या ज्ञात करना

    दिए गए समस्या में, हमें एक पूर्णांक n दिया गया है और हमें Pₙ ज्ञात करना है, यानी उस स्थिति में पेल संख्या। अब, जैसा कि हम जानते हैं, पेल संख्या एक श्रृंखला का हिस्सा है जो इस सूत्र द्वारा दी जाती है: Pₙ = 2*Pₙ₋₁ + Pₙ₋₂ पहली दो शुरुआती संख्याओं के साथ: P₀ = 0 और P₁ = 1 समाधान का दृष्टिकोण अब हम इस

  1. C++ में पेंटाटोप संख्या C++ में पेंटाटोप संख्या

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