इस ट्यूटोरियल में, हम एक प्रोग्राम लिखने जा रहे हैं जो सबसे बड़ी n-अंकीय संख्या ज्ञात करता है जो दी गई तीन संख्याओं से विभाज्य है।
आइए समस्या को हल करने के लिए चरणों को देखें।
- n के साथ तीन नंबर शुरू करें।
- तीन संख्याओं का एलसीएम ज्ञात कीजिए।
- 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
निष्कर्ष
यदि ट्यूटोरियल में आपके कोई प्रश्न हैं, तो उनका टिप्पणी अनुभाग में उल्लेख करें।