我们得到了一个长方体的总和。长方体具有三个侧面的长度,宽度和高度。长方体的体积计算为所有三个边的乘积。
长方体的体积=长度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)
将输入作为用户的总和。
将“长度”计算为Sum / 3(整数算术),并将“ Sum”更新为“ Sum-Length”。
将广度计算为Sum / 2(整数算术),并将Sum更新为Sum-Breadth。
现在将剩余的总和分配给高度。
注–边的计算顺序无关紧要。
#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; //剩余的sumofsides是高度 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