Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

เพิ่มปริมาตรของทรงลูกบาศก์สูงสุดด้วยผลรวมด้านที่กำหนดใน C++


เราให้ผลรวมของด้านของทรงลูกบาศก์ ทรงลูกบาศก์มีความยาวสามด้าน กว้าง และสูง ปริมาตรของทรงลูกบาศก์คำนวณเป็นผลคูณของทั้งสามด้าน

ปริมาตรของทรงลูกบาศก์ =ยาว x กว้าง x สูง

ระดับเสียงสูงสุดสามารถทำได้หากทั้งสามด้านอยู่ใกล้กันมากที่สุด

ตอนนี้มาทำความเข้าใจสิ่งที่เราต้องทำโดยใช้ตัวอย่าง -

ตัวอย่าง

ปัญหาที่ให้ไว้ในที่นี้ให้ผลบวกของด้านต่างๆ เช่น S และให้ด้านเป็น L, B, H เพื่อให้ได้ปริมาตรสูงสุด เราต้องหาด้านที่ใกล้เคียงที่สุด สมมุติว่าเรามี S=6 ด้านที่เป็นไปได้อาจเป็น −

<ก่อนหน้า>[L=1,B=1,H=4] ปริมาตร=4[L=1,B=2,H=3] ปริมาตร=6[L=2,B=2,H=2] ปริมาตร=8

หมายเหตุ - ชุดค่าผสมอื่น ๆ จะให้ผลลัพธ์เหมือนกัน ดังนั้นจะได้ระดับเสียงสูงสุดเมื่อ L,B,H อยู่ใกล้หรือเท่ากัน

ดังนั้น −

ป้อนข้อมูล − S=6

ผลผลิต − ปริมาตรสูงสุดของทรงลูกบาศก์โดยมีผลรวมด้านที่กำหนดคือ 8

คำอธิบาย − ลองหารผลรวม S ออกเป็น L,B,H เท่าที่เป็นไปได้

L=S/3 ----> (L=2 ส่วนจำนวนเต็ม, S ที่เหลือคือ 4)B=(S-L)/2=(S-S/3)/2 ----> (B=2, S ที่เหลืออยู่คือ 2)H=S-L-B =S-S/3-(S-S/3) ----> (H=2, S ที่เหลือคือ 0)

ป้อนข้อมูล − S=10

ผลผลิต − ปริมาตรสูงสุดของทรงลูกบาศก์ที่มีผลรวมของด้านที่กำหนดคือ 36

คำอธิบาย − ลองหารผลรวม S ออกเป็น L,B,H เท่าที่เป็นไปได้

L=S/3 ----> (L=3 ส่วนจำนวนเต็ม, S ที่เหลือคือ 7)B=(S-L)/2=(S-S/3)/2 ----> (B=3, S ที่เหลือคือ 4)H=S-L-B =S-S/3-(S-S/3) ----> (H=4, S ที่เหลือคือ 0)

แนวทางที่ใช้ในโปรแกรมด้านล่างดังนี้

  • รับอินพุตเป็นผลรวมจากผู้ใช้

  • คำนวณความยาวเป็นผลรวม/3 (เลขคณิตจำนวนเต็ม) และอัปเดตผลรวมเป็นความยาวรวม

  • คำนวณความกว้างเป็นผลรวม/2 (เลขคณิตจำนวนเต็ม) และอัปเดตผลรวมเป็นความกว้างรวม

  • ตอนนี้กำหนดผลรวมที่เหลือให้กับความสูง

  • หมายเหตุ - ลำดับการคำนวณด้านไม่สำคัญ

ตัวอย่าง

#include ใช้เนมสเปซ std;int Maximize_Volume (int sumofsides){ ความยาว int ความกว้าง ความสูง; ยาว=กว้าง=สูง=0; // หาความยาว =sumofsides / 3; sumofsides -=ความยาว; // ค้นหาความกว้าง =sumofsides / 2; // sumofsides ที่เหลือคือความสูง height =sumofsides - ความกว้าง ความยาวกลับ * ความกว้าง * ความสูง;} // Driven Programint main () { int sos =12; cout <<"ปริมาตรสูงสุดของทรงลูกบาศก์โดยมีผลรวมของด้านที่กำหนดคือ "< 

ผลลัพธ์

หากเราเรียกใช้โค้ดข้างต้น เราจะได้ผลลัพธ์ดังต่อไปนี้ -

ปริมาตรสูงสุดของทรงลูกบาศก์โดยมีผลรวมของด้านที่กำหนดคือ 64