কম্পিউটার

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


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

  • ইনপুট হিসাবে তিনটি সংখ্যা নিন।
  • সংখ্যাগুলিকে সর্ট ব্যবহার করে ক্রমবর্ধমান ক্রমে সাজান
  • দুটি সংখ্যার যোগফল তৃতীয় সংখ্যার চেয়ে কম কিনা তা পরীক্ষা করুন, তারপর যোগফল ফেরত দিন।
  • যেহেতু প্রতিবার, আমরা যেকোনো দুটি সংখ্যা থেকে '1' সরিয়ে দিচ্ছি, তাই সমস্ত সংখ্যাকে '0' করতে এটি (n1+n2+n3)/2 পদক্ষেপ নেবে।

উদাহরণ

def maxScore(a: int, b: int, c: int):
   a, b, c = sorted((a, b, c))
   if a + b < c: return a + b
   return (a + b + c)//2
a=4
b=4
c=6
print(maxScore(a,b,c))      

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

আউটপুট

7

প্রদত্ত ইনপুটগুলির জন্য a=4, b=4 এবং c=6, সমস্ত সংখ্যাগুলিকে '0' করতে সাতটি ধাপ লাগবে। সুতরাং, প্রোগ্রামটি আউটপুট হিসাবে 7 প্রদান করে।


  1. পাইথন প্রোগ্রাম সর্বোচ্চ তিনটি।

  2. পাইথনে আর্মস্ট্রং নম্বর কিভাবে তৈরি করবেন?

  3. পাইথন ব্যবহার করে মৌলিক সংখ্যা কিভাবে তৈরি করবেন?

  4. পাইথন কিভাবে এলোমেলো সংখ্যা তৈরি করে?