इस ट्यूटोरियल में, हम एक ऐसा प्रोग्राम लिखेंगे जो दी गई तीन संख्याओं से विभाज्य सबसे बड़ी n-अंकों की संख्या ढूंढता है।
आइए इस समस्या को हल करने के चरण देखते हैं।
- तीन संख्याओं को n के साथ इनिशियलाइज़ करें।
- तीन संख्याओं का LCM ज्ञात करें।
- n-अंकों की सबसे बड़ी संख्या स्टोर करें।
- यदि सबसे बड़ी संख्या n से विभाज्य है, तो उसे वापस करें।
- अन्यथा उपरोक्त चरण में शेषफल घटाकर प्राप्त संख्या जांचें।
उदाहरण
आइए कोड देखते हैं।
#include <bits/stdc++.h> using namespace std; int LCM(int x, int y, int z) { int ans = ((x * y) / (__gcd(x, y))); return ((z * ans) / (__gcd(ans, z))); } int findNumber(int n, int x, int y, int z) { int lcm = LCM(x, y, z); int largestNDigitNumber = pow(10, n) - 1; int remainder = largestNDigitNumber % lcm; if (remainder == 0) { return largestNDigitNumber; } largestNDigitNumber -= remainder; if (largestNDigitNumber >= pow(10, n - 1)) { return largestNDigitNumber; } return 0; } int main() { int n = 4, x = 6, y = 7, z = 8; int result = findNumber(n, x, y, z); if (result != 0) { cout << result << endl; }else { cout << "Not possible" << endl; } return 0; }आउटपुट
यदि आप उपरोक्त कोड चलाते हैं, तो आपको निम्न परिणाम मिलेगा।
9912
निष्कर्ष
यदि ट्यूटोरियल में आपके कोई प्रश्न हैं, तो उन्हें कमेंट सेक्शन में लिखें।