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
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP