কম্পিউটার

C++ এ সর্বাধিক সাবয়ারের সমষ্টি m মডিউল


এই সমস্যায়, আমাদেরকে n আকারের একটি অ্যারে দেওয়া হয়েছে এবং একটি পূর্ণসংখ্যা m। আমাদের কাজ হল এমন একটি প্রোগ্রাম তৈরি করা যা C++ এ সর্বাধিক সাবয়ারের সমষ্টি মডিউল m খুঁজে পাবে।

প্রোগ্রামের বিবরণ − এখানে, আমরা m দ্বারা বিভক্ত সাবয়ারের সমস্ত উপাদানের যোগফলকে ভাগ করে প্রাপ্ত সর্বোচ্চ মানটি খুঁজে পাব।

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

ইনপুট − অ্যারে ={4, 9 ,2} m =6

আউটপুট − 5

ব্যাখ্যা − সমস্ত সাবঅ্যারে এবং তাদের অবশিষ্টাংশ বিভাজনে

<প্রে>{4}:4%6 =4{9}:9%6 =3{2}:2%6 =2{4, 9}:13%6 =1{9, 2}:11%6 =5{4, 9, 2}:15%6 =3

এই সমস্যা সমাধানের জন্য, আমরা উপসর্গ SumModulo অ্যারে গণনা করি। এবং সূত্র ব্যবহার করে প্রতিটি সূচকের maxSum গণনা করা, maxSum at i =(prefixi + prefixj + m)%m

উদাহরণ

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

#includeনেমস্পেস ব্যবহার করে std;int calcMaxSum(int arr[], int n, int m) { int x, উপসর্গ =0, maxSumMod =0; সেট যোগফল; sums.insert(0); জন্য (int i =0; i  

আউটপুট

সর্বোচ্চ সাবয়ারের যোগফল মডিউল 5 হল 4

  1. C++-এ সর্বাধিক K অ্যারে উপাদানের চিহ্ন ফ্লিপ করে সর্বাধিক সাব্যারে যোগফল

  2. C++ এ একটি অ্যারেতে সর্বোচ্চ ভারসাম্যের যোগফল

  3. C++-এ সর্বোচ্চ যোগফল কঠোরভাবে বর্ধিত সাবাররে খুঁজুন

  4. C++ এ ডিভাইড অ্যান্ড কনক্যুয়ার ব্যবহার করে সর্বাধিক যোগফল সাব-অ্যারে