কম্পিউটার টিউটোরিয়াল

সি++-এ তিনটি সংখ্যা দিয়ে বিভাজ্য সর্বোচ্চ N-ডিজিট সংখ্যা

এই টিউটোরিয়ালে, আমরা একটি প্রোগ্রাম লিখব যা প্রদত্ত তিনটি সংখ্যা দিয়ে বিভাজ্য সর্বোচ্চ n-ডিজিট সংখ্যা খুঁজে বের করবে।

সমস্যা সমাধানের ধাপসমূহ

  • তিনটি সংখ্যা এবং n ইনিশিয়ালাইজ করুন।
  • তিনটি সংখ্যার LCM (লঘুতম সাধারণ গুণনীয়) বের করুন।
  • n-ডিজিটের সর্বোচ্চ সংখ্যা সংরক্ষণ করুন।
  • যদি সর্বোচ্চ সংখ্যাটি LCM দিয়ে বিভাজ্য হয়, তবে সেটি রিটার্ন করুন।
  • অন্যথায়, বাকি বাদ দিয়ে যোগ্য সংখ্যা বের করুন।

উদাহরণ কোড

#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

নिष्कর্ষ

এই টিউটোরিয়াল সম্পর্কে আপনার যেকোনো প্রশ্ন থাকলে কমেন্ট সেকশনে জানাতে পারেন।

  1. C++ প্রোগ্রাম: মিস্টেরি নাম্বার (Mystery Number) চেক করা

  2. K ডিজিটের সর্বোচ্চ সংখ্যা যা X দিয়ে বিভাজ্য (C++)

  3. C++-এ বড় K-অঙ্কের সংখ্যা যা X দ্বারা বিভাজ্য (Largest K digit number divisible by X)

  4. C++ প্রোগ্রাম: তিনটি সংখ্যার মধ্যে বড়টি খুঁজে বের করা