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

C++-এ N-এর চার গুণনীয়ক যাদের যোগফল N এবং গুণফল সর্বোচ্চ


কনসেপ্ট

একটি পূর্ণসংখ্যা N দেওয়া আছে। N-এর সব গুণনীয়ক বের করুন। চারটি গুণনীয়ক বেছে নিন যাদের যোগফল N এবং গুণফল সর্বোচ্চ। অসম্ভব হলে "Not possible" প্রিন্ট করুন। চারটি গুণনীয়ক সমান হতে পারে।

ইনপুট

24

আউটপুট

All the factors are -> 1 2 4 5 8 10 16 20 40 80 Product is -> 160000

গুণনীয়ক ২০ চারবার বেছে নিলে: ২০+২০+২০+২০=৮০ (নোট: ইনপুট ২৪ কিন্তু আউটপুটে ৮0। সম্ভবত উদাহরণে N=80 ব্যবহার করা হয়েছে)।

পদ্ধতি

  1. ১ থেকে sqrt(N) পর্যন্ত লুপ করে গুণনীয়ক বের করুন এবং ভেক্টরে রাখুন।
  2. ভেক্টর সর্ট করুন।
  3. তিনটি নেস্টেড লুপ দিয়ে তিনটি গুণনীয়ক বেছে নিন, চতুর্থটি = N - (সুম) হিসাব করুন।
  4. চতুর্থটি যদি গুণনীয়ক হয় এবং গুণফল বড় হয় তবে আপডেট করুন।

উদাহরণ (C++ কোড)

// C++: N-এর চার গুণনীয়ক যাদের যোগফল N এবং গুণফল সর্বোচ্চ
#include <bits/stdc++.h>
using namespace std;

void findfactors2(int n1) {
    vector vec2;
    for (int i=1; i*i<=n1; i++)
        if (n1%i==0) { vec2.push_back(i); vec2.push_back(n1/i); }
    sort(vec2.begin(), vec2.end());
    cout << "All the factors are -> ";
    for (int x:vec2) cout << x << " "; cout << endl;
    int maxProduct2=1; bool flag2=1;
    for (int i=0; i " << maxProduct2 << endl;
    else cout << "Not possible" << endl;
}

int main() { int n1=80; findfactors2(n1); return 0; }

আউটপুট

All the factors are -> 1 2 4 5 8 10 16 20 40 80 Product is -> 160000
  1. C++-এ LCM যা গুণফলের সমান হয় এমন সর্বোচ্চ দৈর্ঘ্যের সাবঅ্যারে

  2. C++ প্রোগ্রাম: দুটি সংখ্যা বের করা যাদের যোগফল ও গুণফল N-র সমান

  3. পাইথনে N-এর চারটি ফ্যাক্টর বের করা যাতে যোগফল N এবং গুণফল সর্বাধিক

  4. পাইথনে N-এর চারটি ফ্যাক্টর বের করা যাতে যোগফল N এবং গুণফল সর্বাধিক (সেট-২)