কম্পিউটার

C++ এ একটি সংখ্যায় M ধারাবাহিক সংখ্যার সর্বোচ্চ যোগফল এবং গুণফল


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

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

আমরা M পরপর অঙ্কের সমস্ত ক্রম খুঁজে পাই। এবং সর্বোচ্চ যোগফল এবং পণ্য ফেরত দিন।

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

ইনপুট

number = 2379641, M = 4

আউটপুট

maxSum = 26maxProd = 1512

ব্যাখ্যা

সাইজ 4-এর সমস্ত অনুগামী হল 2379, 3796, 7964, 9641। maxSum =7 + 9 + 6 + 4 =26 maxProd =7 * 9 * 6 * 4 =1512

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

সমস্যার একটি সহজ সমাধান হল M আকারের সমস্ত সম্ভাব্য পরপর অনুক্রমে সংখ্যা গঠন করা। তারপরে পূর্ণসংখ্যার সমস্ত মান যোগ করুন এবং গুণ করুন এবং তারপরে সমস্ত যোগফল এবং পণ্যের সর্বাধিক মান ফেরত দিন।

উদাহরণ

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

#include <iostream>
using namespace std;
int findMaxVal(int x, int y){
   if(x > y)
      return x;
      return y;
}
void calcMaxProductAndSum(string number, int M){
   int N = number.length();
   int maxProd = -1, maxSum = -1;
   int product = 1, sum = 0;
   for (int i = 0; i < N - M; i++){
      product = 1, sum = 0;
      for (int j = i; j < M + i; j++){
         product = product * (number[j] - '0');
         sum = sum + (number[j] - '0');
      }
      maxProd = findMaxVal(maxProd, product);
      maxSum = findMaxVal(maxSum, sum);
   }
   cout<<"The Maximum Product of "<<M<<" consecutive digits in number "<<number<<" is "<<maxProd<<endl;
   cout<<"The Sum Product of "<<M<<" consecutive digits in number "<<number<<" is "<<maxSum;
}
int main() {
   string str = "2379641";
   int m = 4;
   calcMaxProductAndSum(str, m);
}

আউটপুট

The Maximum Product of 4 consecutive digits in number 2379641 is 1512
The Sum Product of 4 consecutive digits in number 2379641 is 26

  1. C++ এ জোড় এবং বিজোড় স্থানে একটি সংখ্যার অঙ্কের সমষ্টি খুঁজুন

  2. C++ এ সর্বাধিক পণ্যের চতুর্গুণ সংখ্যা খুঁজুন

  3. একটি প্রদত্ত সংখ্যা C++ এ তার সংখ্যার ফ্যাক্টরিয়ালের যোগফলকে ভাগ করে কিনা তা পরীক্ষা করুন

  4. একটি প্রদত্ত সংখ্যার সংখ্যা যোগ করার জন্য C++ প্রোগ্রাম