Computer >> 컴퓨터 >  >> 프로그램 작성 >> C++

C++에서 주어진 둘레로 가능한 직사각형의 최대 면적


주사각형의 둘레가 주어졌을 때 작업은 주어진 둘레로 직사각형의 최대 면적을 찾는 것입니다.

직사각형은 마주보는 변이 같고 평행한 평행사변형의 한 유형입니다.

C++에서 주어진 둘레로 가능한 직사각형의 최대 면적

직사각형의 둘레는 직사각형의 모든 변의 합입니다. 둘레는 직사각형 외부의 총 거리라고 말할 수도 있습니다.

직사각형의 둘레를 구하는 공식은 − Length + Breadth + Length + Breadth or 2(Length + Breadth)

반면 직사각형의 면적은 직사각형 객체의 크기입니다. 직사각형의 넓이를 구하는 공식은 - 길이 x 너비입니다.

따라서 직사각형의 최대 면적을 찾으려면 둘레에서 직사각형의 길이와 너비를 가져와야 합니다. Length를 ceil(perimeter/4)로, Breadth를 floor(perimeter/4)로 가정하여 길이와 너비를 찾을 수 있습니다. 이것은 둘레로 직사각형의 길이와 너비의 최대값을 제공합니다. 따라서 직사각형의 면적은 ceil(perimeter/4) * floor(perimeter/4)가 됩니다.

입력 - 둘레 =95

출력 − 주어진 둘레 95에서 가능한 직사각형의 최대 면적은 − 552입니다.

입력 - 둘레 =2.78

출력 − 주어진 둘레 2.78에서 가능한 직사각형의 최대 면적은 − 0입니다.

아래 프로그램에서 사용하는 접근 방식은 다음과 같습니다.

  • 직사각형의 둘레를 입력으로 사용합니다.

  • 설정 결과 =ceil(perimeter/4) * floor(perimeter/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