이번 글에서는 하나의 직사각형이 주어졌을 때, 그 직사각형 안에 내접할 수 있는 가장 큰 마름모의 넓이를 구하는 방법을 알아보겠습니다. 도형의 모습은 아래 그림과 같습니다.

마름모 넓이 공식
직사각형의 가로 길이를 l, 세로 길이를 b라고 할 때, 직사각형에 내접하는 가장 큰 마름모의 두 대각선 길이는 각각 직사각형의 가로와 세로와 같습니다. 마름모의 넓이는 두 대각선의 곱을 2로 나눈 값이므로, 구하고자 하는 마름모의 넓이는 다음과 같습니다.
마름모의 넓이 = (l × b) / 2
즉, 직사각형에 내접할 수 있는 가장 큰 마름모의 넓이는 원래 직사각형 넓이의 정확히 절반이 됩니다.
소스 코드
#include <iostream>
#include <cmath>
using namespace std;
float area(float l, float b) {
if (l < 0 || b < 0) // 값이 음수이면 유효하지 않음
return -1;
float area = (l*b) /2;
return area;
}
int main() {
float l = 20.0, b = 7;
cout << "Area : " << area(l, b);
}코드 설명
area() 함수는 직사각형의 가로 l과 세로 b를 매개변수로 받습니다. 먼저 입력값이 음수인지 검사하여, 음수라면 유효하지 않은 값으로 판단하고 -1을 반환합니다. 그렇지 않으면 공식 (l × b) / 2를 적용해 마름모의 넓이를 계산한 뒤 결과를 반환합니다.
실행 결과
Area : 70
가로가 20, 세로가 7인 직사각형의 경우, 내접하는 가장 큰 마름모의 넓이는 (20 × 7) / 2 = 70이 됩니다. 이처럼 간단한 공식 하나만으로도 별도의 복잡한 기하학적 계산 없이 마름모의 넓이를 손쉽게 구할 수 있습니다.