এই টিউটোরিয়ালে, আমরা একটি প্রোগ্রাম লিখতে যাচ্ছি যেটি প্রদত্ত তিনটি সংখ্যা দ্বারা বিভাজ্য সবচেয়ে বড় 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
উপসংহার
টিউটোরিয়ালে আপনার কোন প্রশ্ন থাকলে মন্তব্য বিভাগে উল্লেখ করুন।