इस ट्यूटोरियल में, हम एक प्रोग्राम लिखेंगे जो एक संख्या को दो भागों में विभाजित करता है जो दी गई संख्याओं से विभाज्य होते हैं।
हमें स्ट्रिंग फॉर्मेट में एक संख्या और दो अन्य पूर्णांक दिए गए हैं। प्रोग्राम को लौटाना चाहिए कि क्या दी गई संख्या को दो भागों में विभाजित करना संभव है जैसे कि पहला भाग पहली संख्या से विभाज्य हो और दूसरा भाग दूसरी संख्या से विभाज्य हो।
समस्या को हल करने के चरण देखते हैं।
संख्या और विभाजन के लिए दो पूर्णांकों को इनिशियलाइज़ करें।
संख्या पर पुनरावृति करें जब तक पहला भाग पहली संख्या से विभाज्य न हो जाए।
प्रत्येक कैरेक्टर को अंक में बदलकर संख्या बनाएं।
जब यह पहली संख्या से विभाज्य हो जाए तो लूप तोड़ें।
अब, संख्या के दूसरे भाग के लिए अगले इंडेक्स से पुनरावृति करें।
पहले भाग की तरह संख्या बनाएं।
जांचें कि दूसरा भाग दूसरी संख्या से विभाज्य है या नहीं।
यदि पहला और दूसरा भाग क्रमशः पहली और दूसरी संख्या से विभाज्य हैं, तो उन्हें प्रिंट करें अन्यथा "संभव नहीं" प्रिंट करें।
उदाहरण
कोड देखते हैं।
#include <bits/stdc++.h> using namespace std; void checkTheDivisabilityOfPrefixAndSuffix(string num, int prefix_dividend, int suffix_dividend) { int N = num.length(); bool is_prefix_divisable = false, is_suffix_divisable = false; int index = 0; int prefix = num[index] - '0'; while (index < N) { if (prefix % prefix_dividend == 0) { is_prefix_divisable = true; break; } prefix = prefix * 10 + (num[++index] - '0'); } int suffix = num[++index] - '0'; while (index < N - 1) { suffix = suffix * 10 + (num[++index] - '0'); } cout << suffix << endl; if (suffix % suffix_dividend == 0) { is_suffix_divisable = true; } if (is_prefix_divisable && is_suffix_divisable) { cout << prefix << " " << suffix << endl; } else { cout << "Not possible" << endl; } } int main() { string number = "125333"; int prefix_dividend = 5; int suffix_dividend = 3; checkTheDivisabilityOfPrefixAndSuffix(number, prefix_dividend, suffix_dividend); return 0; }आउटपुट
यदि आप उपरोक्त कोड चलाते हैं, तो आपको निम्न परिणाम मिलेगा।
125 333
निष्कर्ष
यदि ट्यूटोरियल में आपके कोई प्रश्न हैं, तो उन्हें कमेंट सेक्शन में बताएं।