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

C++ में n अंकों की स्टेपिंग संख्याओं की संख्या


स्टेपिंग संख्या वह संख्या है जहां लगातार अंकों का अंतर 1 होता है। आपको अंकों की संख्या दर्शाने वाली एक संख्या n दी गई है। आपको n अंकों वाली स्टेपिंग संख्याओं की कुल संख्या गिननी है।

आइए एक उदाहरण देखते हैं।

इनपुट

2

आउटपुट

17

2 अंकों की सबसे छोटी संख्या 10 है और सबसे बड़ी 99 है। उनके बीच 17 स्टेपिंग संख्याएं हैं।

एल्गोरिदम

  • संख्या n को आरंभ करें।
  • काउंट को 0 पर आरंभ करें।
  • n अंकों की सबसे छोटी संख्या ढूंढें यानी pow(10, n - 1)।
  • n अंकों की सबसे बड़ी संख्या ढूंढें यानी pow(10, n) - 1।
  • एक लूप लिखें जो सबसे छोटी n अंक संख्या से सबसे बड़ी n अंक संख्या तक पुनरावृति करता है।
    • जांचें कि वर्तमान संख्या स्टेपिंग संख्या है या नहीं।
    • संख्या में लगातार अंकों के जोड़े का अंतर जांचें।
    • यदि किसी अंतर का परिणाम 1 नहीं है, तो false लौटाएं अन्यथा true।
    • यदि वर्तमान संख्या स्टेपिंग संख्या है तो काउंट बढ़ाएं।
  • काउंट लौटाएं।

कार्यान्वयन

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

#include <bits/stdc++.h> using namespace std; bool isSteppingNumber(int n) {    int previousDigit = -1;    while (n) {       int currentDigit = n % 10;       if (previousDigit != -1 && abs(previousDigit - currentDigit) != 1) {          return false;       }       previousDigit = currentDigit;       n /= 10;    }    return true; } int getSteppingNumbersCount(int n) {    int lowestNumber = pow(10, n - 1), highestNumber = pow(10, n) - 1;    int count = 0;    for (int i = lowestNumber; i <= highestNumber; i++) {       if (isSteppingNumber(i)) {          count += 1;       }    }    return count; } int main() {    int n = 3;    cout << getSteppingNumbersCount(n) << endl;    return 0; }

आउटपुट

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

32
  1. - C++ में मितव्ययी संख्या (Frugal Number)

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

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

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

  1. C++ में डुडनी नंबर (Dudeney Numbers) C++ में डुडनी नंबर (Dudeney Numbers)

    संख्या सिद्धांत में परिभाषित एक गणितीय संख्या एक दी गई संख्या आधार में एक प्राकृतिक संख्या है जो दूसरी प्राकृतिक संख्या के पूर्ण घन के बराबर होती है जैसे कि पहली प्राकृतिक संख्या का अंक योग दूसरी संख्या के अंक योग के बराबर होता है (विकिपीडिया)। इस संख्या की खोज हेनरी डुडनी ने की थी। इसका गणितीय सू