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

C++-এ N বা তার চেয়ে ছোট তিনটি ইন্টিজার যাতে LCM ম্যাক্সিমাম হয়


সমস্যা

একটি ইন্টিজার N দেওয়া। N-এর চেয়ে ছোট বা সমান তিনটি ইন্টিজার খুঁজুন যাদের LCM (লিস্ট কমন মাল্টিপল) সর্বোচ্চ হয়।

অ্যালগরিদম (গাণিতিক পর্যবেক্ষণ)

  • N বিজোড় হলে: N, N-1, N-2 (এই তিনটি পেয়ারওয়াইজ কো-প্রাইম)।
  • N জোড় হলে:
    • যদি gcd(N, N-3) == 1 হয়, তবে N, N-1, N-3।
    • অন্যথায় N-1, N-2, N-3।

C++ কোড

#include <bits/stdc++.h>
using namespace std;

void findMaximumLCM(int n) {
    if (n % 2 != 0) {
        cout << n << " " << n-1 << " " << n-2;
    } else if (__gcd(n, n-3) == 1) {
        cout << n << " " << n-1 << " " << n-3;
    } else {
        cout << n-1 << " " << n-2 << " " << n-3;
    }
}

int main() {
    findMaximumLCM(34); // 34 33 31
}

আউটপুট

34 33 31
  1. C++-এ n! % (k^x) = 0 হওয়া যেন x এর সর্বোচ্চ মান নির্ণয়

  2. C++-এ निरপেক্ষ পার্থক্য ১ বা তদন uglיף একটি অ্যারে থেকে সর্বোচ্চ উপাদান নির্বাচন

  3. C++ ব্যবহার করে n-র চেয়ে ছোট বা সমান সব ফ্যাক্টোরিয়াল নম্বর বের করা

  4. C++ প্রোগ্রাম: ইউনিক পেয়ার বের করা যারা N-র চোয় ছোট ও শর্ত পূরণ করে