কম্পিউটার

C++ এ প্রদত্ত বাহুর সমষ্টি সহ কিউবয়েডের আয়তন সর্বাধিক করুন


আমাদের একটি কিউবয়েডের বাহুর সমষ্টি দিয়ে দেওয়া হয়েছে। একটি কিউবয়েডের তিনটি বাহুর দৈর্ঘ্য, প্রস্থ এবং উচ্চতা রয়েছে। কিউবয়েডের আয়তন তিনটি বাহুর গুণফল হিসাবে গণনা করা হয়।

কিউবয়েডের আয়তন =দৈর্ঘ্য X প্রস্থ X উচ্চতা

তিনটি দিক যতটা সম্ভব কাছাকাছি থাকলে সর্বোচ্চ ভলিউম অর্জন করা যায়।

আসুন এখন বুঝতে পারি একটি উদাহরণ ব্যবহার করে আমাদের কী করতে হবে −

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

এখানে প্রদত্ত সমস্যাটি আমাদেরকে বাহুর সমষ্টি প্রদান করে, বলুন S। এবং দিকগুলিকে L, B, H হতে দিন। আয়তনকে সর্বাধিক করার জন্য আমাদের যতটা সম্ভব কাছাকাছি বাহুগুলি খুঁজে বের করতে হবে। ধরা যাক আমাদের কাছে S=6 আছে। সম্ভাব্য দিক হতে পারে −

[L=1,B=1,H=4] volume=4
[L=1,B=2,H=3] volume=6
[L=2,B=2,H=2] volume=8

দ্রষ্টব্য - অন্যান্য সংমিশ্রণ একই ফলাফল হবে. তাই সর্বাধিক আয়তন অর্জিত হয় যখন L,B,H একে অপরের কাছাকাছি বা সমান হয়।

অতএব −

ইনপুট − S=6

আউটপুট − প্রদত্ত বাহুর সমষ্টি সহ কিউবয়েডের সর্বাধিক আয়তন হল 8৷

ব্যাখ্যা − চলুন যোগফল S কে L, B, H তে যতটা সম্ভব সমানভাবে ভাগ করি।

L=S/3 ----> (L=2 integer part, remaining S is 4)
B=(S-L)/2=(S-S/3)/2 ----> (B=2, remaining S is 2)
H=S-L-B = S-S/3-(S-S/3) ----> (H=2, remaining S is 0)

ইনপুট − S=10

আউটপুট − প্রদত্ত বাহুর সমষ্টি সহ কিউবয়েডের সর্বোচ্চ আয়তন হল 36৷

ব্যাখ্যা − চলুন যোগফল S কে L, B, H তে যতটা সম্ভব সমানভাবে ভাগ করি।

L=S/3 ----> (L=3 integer part, remaining S is 7)
B=(S-L)/2=(S-S/3)/2 ----> (B=3, remaining S is 4)
H=S-L-B = S-S/3-(S-S/3) ----> (H=4, remaining S is 0)

নিম্নলিখিত প্রোগ্রামে ব্যবহৃত পদ্ধতি

  • ব্যবহারকারীর কাছ থেকে যোগফল হিসাবে ইনপুট নিন।

  • যোগফল/3 (পূর্ণসংখ্যা গাণিতিক) হিসাবে দৈর্ঘ্য গণনা করুন এবং যোগফল যোগ-দৈর্ঘ্য হিসাবে আপডেট করুন।

  • যোগফল/2 (পূর্ণসংখ্যা পাটিগণিত) হিসাবে প্রস্থ গণনা করুন এবং যোগফল যোগ-প্রস্থ হিসাবে আপডেট করুন।

  • এখন অবশিষ্ট যোগফল উচ্চতায় বরাদ্দ করুন।

  • দ্রষ্টব্য - পক্ষের জন্য গণনার ক্রম কোন ব্যাপার নয়।

উদাহরণ

#include <bits/stdc++.h>
using namespace std;
int Maximize_Volume(int sumofsides){
   int length,breadth,height;
   length=breadth=height=0;
   // finding length
   length = sumofsides / 3;
   sumofsides -= length;
   // finding breadth
   breadth = sumofsides / 2;
   // remaining sumofsides is height
   height = sumofsides - breadth;
   return length * breadth * height;
}
// Driven Program
int main(){
   int sos = 12;
   cout << "Maximized volume of the cuboid with given sum of sides is "<<Maximize_Volume(sos) << endl;
   return 0;
}

আউটপুট

আমরা উপরের কোডটি চালালে আমরা নিম্নলিখিত আউটপুট পাব -

Maximized volume of the cuboid with given sum of sides is 64

  1. C++ এ একটি সুষম BST-এ প্রদত্ত যোগফল সহ একটি জোড়া খুঁজুন

  2. C++ এ প্রদত্ত ক্রিয়াকলাপের সাথে অ্যারের যোগফল সর্বাধিক করা হচ্ছে

  3. C++ এ arr[i]*i এর যোগফল সর্বাধিক করুন

  4. সংখ্যা সহ ন্যূনতম সংখ্যা এবং শুধুমাত্র 7 এবং C++ এ যোগফল দেওয়া হয়েছে