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

C++ में किसी भी रूपांतरण के बिना संख्या के सभी उपस्ट्रिंग प्रिंट करें


इस समस्या में, हमें एक पूर्णांक n दिया गया है। और हमें एक संख्या के उन सभी उपस्ट्रिंग को प्रिंट करना है जो बनाए जा सकते हैं लेकिन स्ट्रिंग में रूपांतरण की अनुमति नहीं है यानी हम पूर्णांक को स्ट्रिंग या सरणी में परिवर्तित नहीं कर सकते।

विषय को बेहतर ढंग से समझने के लिए एक उदाहरण लेते हैं -

इनपुट: संख्या = 5678 आउटपुट: 5, 56, 567, 5678, 6, 67, 678, 7, 78, 8

इस समस्या को हल करने के लिए, हमें गणितीय तर्क का उपयोग करना होगा। यहां, हम पहले सबसे महत्वपूर्ण बिट प्रिंट करेंगे, फिर क्रमिक बिट्स प्रिंट किए जाएंगे।

एल्गोरिदम

चरण 1: अंकों की संख्या के आधार पर 10 की घात वाली संख्या लें। चरण 2: मानों को रिकर्सिव रूप से प्रिंट करें और संख्या को 10 से विभाजित करें और तब तक दोहराएं जब तक संख्या 0 न हो जाए। चरण 3: संख्या का MSB हटाएं और इस संख्या के साथ चरण 2 दोहराएं। चरण 4: तब तक दोहराएं जब तक संख्या 0 न हो जाए।

उदाहरण

#include <iostream> #include<math.h> using namespace std; void printSubNumbers(int n) ; int main(){    int n = 6789;    cout<<"The number is "<<n<<" and the substring of number are :\n";    printSubNumbers(n);    return 0; } void printSubNumbers(int n){    int s = log10(n);    int d = (int)(pow(10, s) + 0.5);    int k = d;    while (n) {       while (d) {          cout<<(n / d)<<" ";          d = d / 10;       }       n = n % k;       k = k / 10;       d = k;    } }

आउटपुट

संख्या 6789 है और संख्या के उपस्ट्रिंग हैं -

6 67 678 6789 7 78 789 8 89 9

  1. - C++ में ब्रैकेट नंबर प्रिंट करें

    इस समस्या में, हमें एक अभिव्यक्ति दी गई है। और हमें ब्रैकेट नंबर अनुक्रम प्रिंट करना है। आइए एक उदाहरण देखकर इस समस्या को बेहतर ढंग से समझते हैं। उदाहरण, Input : ((()())()) Output : 1233442551 व्याख्या - यहां हमें 5 ब्रैकेट जोड़े मिले हैं और हमने उन्हें उनकी घटना के क्रम में अनुक्रम में प्रिंट किया

  1. - C++ प्रोग्राम: सशर्त स्टेटमेंट का उपयोग किए बिना "सम" या "विषम" प्रिंट करना

    इस खंड में हम देखेंगे कि किसी भी प्रकार के सशर्त स्टेटमेंट (<, <=, !=, >, >=, ==) का उपयोग किए बिना किसी संख्या की विषम या सम जांच कैसे करें। हम सशर्त स्टेटमेंट का उपयोग करके आसानी से विषम या सम की जांच कर सकते हैं। हम संख्या को 2 से विभाजित कर सकते हैं, फिर जांच सकते हैं कि शेष 0 है या

  1. पायथन प्रोग्राम: बिना किसी लूप के नंबर सीरीज़ प्रिंट करें पायथन प्रोग्राम: बिना किसी लूप के नंबर सीरीज़ प्रिंट करें

    इस लेख में, हम नीचे दिए गए प्रॉब्लम स्टेटमेंट के समाधान के बारे में सीखेंगे: प्रॉब्लम स्टेटमेंट दो संख्याएं N और K दी गई हैं, हमारी समस्या है N से K घटाते रहना जब तक N शून्य से बड़ा है, एक बार N नेगेटिव या शून्य हो जाए तो हम इसमें K जोड़ना शुरू करते हैं जब तक वह संख्या मूल संख्या N नहीं बन जाती। उ