ให้เส้นรอบรูปของสี่เหลี่ยมผืนผ้า งานคือหาพื้นที่สูงสุดของสี่เหลี่ยมผืนผ้าที่มีเส้นรอบรูปนั้น
สี่เหลี่ยมผืนผ้ามีด้านตรงข้ามเท่ากันและขนานกัน เส้นรอบรูป = 2(ความยาว + ความกว้าง) พื้นที่ = ความยาว x ความกว้าง
เพื่อให้พื้นที่สูงสุด ให้ความยาว = ceil(เส้นรอบรูป/4) ความกว้าง = floor(เส้นรอบรูป/4) พื้นที่ = ceil(P/4) * floor(P/4)
อินพุต − perimeter = 95
เอาต์พุต − The maximum area of rectangle possible with given perimeter 95 is 552
อินพุต − perimeter = 2.78
เอาต์พุต − The maximum area of rectangle possible with given perimeter 2.78 is 0
แนวทาง
รับเส้นรอบรูป
คำนวณ len = ceil(perimeter/4), bre = floor(perimeter/4)
คืนค่า len * bre
ตัวอย่าง
#include <bits/stdc++.h>
using namespace std;
int Maximum(float perimeter){
int len = (int)ceil(perimeter / 4);
int bre = (int)floor(perimeter / 4);
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