কম্পিউটার

C++ এ N হিসাবে LCM সহ স্বতন্ত্র সংখ্যার সর্বোচ্চ যোগফল


এই সমস্যায়, আমাদের একটি সংখ্যা দেওয়া হয়েছে। আমাদের কাজ হল C++ এ N হিসাবে LCM সহ স্বতন্ত্র সংখ্যার সর্বাধিক যোগফল খুঁজে বের করার জন্য একটি প্রোগ্রাম তৈরি করা।

সমস্যা বর্ণনা

এখানে, আমাদের সর্বনিম্ন সাধারণ মাল্টিপল (LCM) হিসাবে N আছে এমন সর্বাধিক সংখ্যার যোগফল খুঁজে বের করতে হবে।

সমস্যাটি বোঝার জন্য একটি উদাহরণ নেওয়া যাক,

ইনপুট

N = 10

আউটপুট

18

ব্যাখ্যা

Maximum sum with LCM 10 is 1 + 2 + 5 + 10 = 18

সমাধান পদ্ধতি

সমস্যার একটি সহজ সমাধান হল এই ধারণাটি ব্যবহার করা যে আমরা যদি N সংখ্যাটিকে LCM হিসাবে চাই, তাহলে আমাদের N-এর সমস্ত স্বতন্ত্র ভাজক নিতে হবে। এবং maxSum পেতে তাদের যোগ করতে হবে।

এর জন্য আমরা N-এর সমস্ত গুণনীয়ক খুঁজে পাব। এবং তারপরে সেগুলি যোগ করুন, এটিকে সর্বাধিক দেওয়া হবে কারণ আমরা সমস্ত সংখ্যা বিবেচনা করেছি যেগুলি LCM-কে N হতে অবদান রাখতে পারে।

উদাহরণ

আমাদের সমাধানের কাজ চিত্রিত করার জন্য প্রোগ্রাম,

নেমস্পেস std;int calcFactorSum(int N){ int maxSum =0 ব্যবহার করে
#include <iostream>
using namespace std;

int calcFactorSum(int N){
   int maxSum = 0;
   for (int i = 1; i*i <= N; i++){
      if (N % i == 0) {
         if (i == (N/i))
            maxSum = maxSum + i;
         else
            maxSum = maxSum + i + (N/i);
      }
   }
   return maxSum;
}
int main(){
   int N = 42;
   cout<<"The sum of distinct numbers with LCM as "<<N<<" is "<<calcFactorSum(N);
   return 0;
}

আউটপুট

The sum of distinct numbers with LCM as 42 is 96

  1. C++ এ যোগফল S সহ মৌলিক P এর পরে মৌলিক সংখ্যা

  2. C++ এ একই সংখ্যক সেট বিটের সাথে সংখ্যা যোগ করে সর্বোচ্চ যোগফল

  3. C++ এ প্রদত্ত যোগফল সহ সর্বাধিক আকারের উপসেট

  4. C++ এ কুৎসিত সংখ্যা সহ একটি সাব-অ্যারের সর্বাধিক দৈর্ঘ্য