আমাদের একটি ঘনবস্তুর (cuboid) তিনটি flanc-এর যোগফল দেওয়া আছে। ঘনবস্তুর তিনটি flank: দৈর্ঘ্য, প্রস্থ ও উঁচু। ঘনবস্তুর আয়তন = দৈর্ঘ্য × প্রস্থ × উঁচু।
সর্বোচ্চ আয়তন তখন পাওয়া যায় যখন তিনটি flank যতটা সম্ভব একে অপরের কাছাকাছি হয়।
উদাহরণ
মান লেন S=6। সম্ভাব্য flank কোম্বিনেশন:
[L=1, B=1, H=4] volume=4 [L=1, B=2, H=3] volume=6 [L=2, B=2, H=2] volume=8
নোট − অন্যান্য কোম্বিনেশনেও একই ফলাফল আসবে। তাই flankগুলো সমান বা কাছাকাছি হলে সর্বোচ্চ আয়তন পাওয়া যায়।
ইনপুট − S=6
আউটপুট − Maximized volume of the cuboid with given sum of sides is 8.
ব্যাখ্যা − যোগফল S কে L, B, H-তে যতটা সম্ভব সমান ভাগ করুন।
L = S/3 = 2 (ইন্টিজার পার্ট), বাকি S = 4 B = (S-L)/2 = 2, বাকি S = 2 H = S-L-B = 2, বাকি S = 0
ইনপুট − S=10
আউটপুট − The maximum volume of the cuboid with a given sum of sides is 36.
ব্যাখ্যা −
L = 10/3 = 3, বাকি 7 B = 7/2 = 3, বাকি 4 H = 4
প্রোগ্রামে ব্যবহৃত পদ্ধতি
- ইউজার থেকে যোগফল (Sum) ইনপুট নিন।
- Length = Sum/3 (ইন্টিজার অ্যারিথমেটিক) ক্যালকুলেট করুন এবং Sum আপডেট করুন।
- Breadth = Sum/2 ক্যালকুলেট করুন এবং Sum আপডেট করুন।
- বাকি Sum কে Height হিসেবে নিন।
- নোট: flank কালকুলেশন-এর অর্ডার মেইন ফ্যাক্টর নয়।
উদাহরণ
#include <bits/stdc++.h>
using namespace std;
int Maximize_Volume(int sumofsides) {
int length, breadth, height;
length = breadth = height = 0;
// দৈর্ঘ্য বের করা
length = sumofsides / 3;
sumofsides -= length;
// প্রস্থ বের করা
breadth = sumofsides / 2;
// বাকি অংশ হলো উঁচু
height = sumofsides - breadth;
return length * breadth * height;
}
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