কম্পিউটার

C++ এ তিনটি সংখ্যাকে শূন্য করুন


ধরা যাক আমাদের তিনটি সংখ্যা আছে। কাজটি হল এই সমস্ত সংখ্যাগুলিকে '0' করার জন্য সর্বোত্তম পদক্ষেপের মোট সংখ্যা গণনা করা।

উদাহরণস্বরূপ

ইনপুট-1:

a = 4
b = 4

c = 6

আউটপুট:

7

ব্যাখ্যা: সমস্ত সংখ্যা '0' করার জন্য সর্বোত্তম ধাপের মোট সংখ্যা হল,

(4, 4, 6)

১ম এবং ২য় সংখ্যা থেকে '1' সরানো হচ্ছে =(3, 3, 6)

১ম এবং ৩য় সংখ্যা থেকে '1' সরানো হচ্ছে =(2, 3, 5)

১ম এবং ৩য় সংখ্যা থেকে '1' সরানো হচ্ছে =(1,3, 4)

১ম এবং ৩য় সংখ্যা থেকে '1' সরানো হচ্ছে =(0 ,3 ,3)

2য় এবং 3য় নম্বর থেকে '1' সরানো হচ্ছে =(0 ,2, 2)

2য় এবং 3য় নম্বর থেকে '1' সরানো হচ্ছে =(0, 1, 1)

2য় এবং 3য় নম্বর থেকে '1' সরানো হচ্ছে =(0, 0, 0)

এইভাবে, সমস্ত সংখ্যাকে শূন্য করার জন্য মোট ধাপের সংখ্যা হল '7'

এই সমস্যা সমাধানের পদ্ধতি

এই বিশেষ সমস্যাটি সমাধান করার জন্য, আমরা যেকোন দুটি সংখ্যা থেকে '1' মুছে ফেলব যাতে এই দুটি সংখ্যার যোগফল শেষ সংখ্যার থেকে বেশি হয়। এটিকে শূন্য করার জন্য সর্বনিম্ন পদক্ষেপগুলি খুঁজে পেতে, আমরা ন্যূনতম ধাপগুলির সংখ্যা গণনা করব৷

  • ইনপুট হিসাবে তিনটি সংখ্যা নিন।
  • দুটি সংখ্যার যোগফল পরীক্ষা করুন, ধরা যাক 'a' এবং 'b' 'c' থেকে বড়, এবং a> 0, b> 0, তারপর 'a' এবং 'b' থেকে '1' সরিয়ে দিন।
  • উত্তরগুলি থেকে সর্বনিম্নটি ​​খুঁজুন এবং ফলাফলটি ফেরত দিন।

উদাহরণ

#include <bits/stdc++.h>
using namespace std;
int maxSteps(int a, int b, int c) {
   int res = 0;
   while (a + b > c and a > 0 and b > 0) {
      a--;
      b--;
      res++;
   }
   res += min(c, a + b);
   return res;
}
int main() {
   int a = 4;
   int b = 4;
   int c = 6;
   cout << maxSteps(a, b, c) << endl;
   return 0;
}

উপরের কোডটি চালানোর ফলে আউটপুট তৈরি হবে,

আউটপুট

 7

প্রদত্ত ইনপুটে a =4, b =4 এবং c =6, এটি সমস্ত সংখ্যাকে শূন্য করতে সাতটি পদক্ষেপ নেবে, এইভাবে প্রোগ্রামটি 7 হিসাবে আউটপুট প্রদান করে।


  1. সি++ এ ডুডেনি নম্বর

  2. একটি সংখ্যা C++ এ একটি রহস্য সংখ্যা কিনা তা পরীক্ষা করুন

  3. তিনটি সংখ্যার মধ্যে সবচেয়ে বড় সংখ্যা খুঁজে পেতে C++ প্রোগ্রাম

  4. পাইথনে তিনটি সংখ্যা শূন্য করুন