กำหนดขอบเขตของรูปสี่เหลี่ยมผืนผ้า ภารกิจคือการหาพื้นที่สูงสุดของรูปสี่เหลี่ยมผืนผ้ากับปริมณฑลที่กำหนด
สี่เหลี่ยมผืนผ้าคือประเภทของสี่เหลี่ยมด้านขนานที่มีด้านตรงข้ามเท่ากันและขนานกัน
ปริมณฑลของรูปสี่เหลี่ยมผืนผ้าเป็นผลรวมของทุกด้านของรูปสี่เหลี่ยมผืนผ้า เราอาจกล่าวได้ว่าเส้นรอบรูปคือระยะทางรวมของด้านนอกของสี่เหลี่ยมผืนผ้า
สูตรการหาเส้นรอบรูปของสี่เหลี่ยมผืนผ้าคือ − ความยาว + ความกว้าง + ความยาว + ความกว้าง หรือ 2(ความยาว + ความกว้าง)
ในขณะที่พื้นที่ของรูปสี่เหลี่ยมผืนผ้าคือขนาดของวัตถุสี่เหลี่ยม สูตรการหาพื้นที่ของสี่เหลี่ยมผืนผ้าคือ − ยาว x กว้าง
ดังนั้น ในการหาพื้นที่สูงสุดของรูปสี่เหลี่ยมผืนผ้า เราต้องหาความยาวและความกว้างของรูปสี่เหลี่ยมผืนผ้าจากเส้นรอบรูป เราสามารถหาความยาวและความกว้างได้โดยสมมติว่า Length เป็น ceil(perimeter/4) และ width as floor(perimeter/4) ซึ่งให้ค่าสูงสุดของความยาวและความกว้างของรูปสี่เหลี่ยมผืนผ้าตามปริมณฑล ดังนั้น พื้นที่ของสี่เหลี่ยมผืนผ้าจะเป็น ceil(ปริมณฑล/4) * floor(ปริมณฑล/4)
ป้อนข้อมูล − เส้นรอบวง =95
ผลลัพธ์ − พื้นที่สูงสุดของรูปสี่เหลี่ยมผืนผ้าที่เป็นไปได้กับเส้นรอบรูป 95 ที่กำหนดคือ − 552
ป้อนข้อมูล − ปริมณฑล =2.78
ผลลัพธ์ − พื้นที่สูงสุดของรูปสี่เหลี่ยมผืนผ้าที่เป็นไปได้กับเส้นรอบรูป 2.78 ที่กำหนดคือ − 0
แนวทางที่ใช้ในโปรแกรมด้านล่างดังนี้
-
ใช้ปริมณฑลของสี่เหลี่ยมเป็นอินพุต
-
กำหนดผลลัพธ์ =เพดาน(ปริมณฑล/4) * ชั้น(ปริมณฑล/4)
-
ส่งคืนและพิมพ์ผลลัพธ์
ตัวอย่าง
#include <bits/stdc++.h> using namespace std; //calculate maximum area of rectangle possible with given perimeter int Maximum(float perimeter){ int len = (int)ceil(perimeter / 4); int bre = (int)floor(perimeter / 4); // return area return len* bre; } int main(){ float perimeter = 27; cout<<"maximum area of rectangle possible with given perimeter "<<perimeter<<" is: "<<Maximum(perimeter); return 0; }
ผลลัพธ์
หากเราเรียกใช้โค้ดข้างต้น เราจะได้ผลลัพธ์ดังต่อไปนี้ -
maximum area of rectangle possible with given perimeter 27 is: 42