마름모는 네 변의 길이가 모두 같은 단순한 사각형입니다. 마름모의 둘레(perimeter)는 크게 두 가지 방법으로 구할 수 있습니다.
- 네 변의 길이를 모두 더하는 방법
- 대각선의 길이를 이용하는 방법
사각형은 두 개의 대각선을 가지며, 대각선의 길이를 알면 이를 바탕으로 해당 사각형의 넓이와 둘레를 모두 계산할 수 있습니다.
대각선으로 둘레를 구하는 공식
마름모의 두 대각선 길이가 각각 d1과 d2일 때, 대각선을 이용해 마름모의 둘레를 구하는 공식은 다음과 같습니다.
둘레 = 2 × √(d1² + d2²)

프로그램 로직
대각선을 사용해 마름모의 둘레를 구하려면 위 공식인 2 × √(d1² + d2²)를 코드로 구현해야 합니다. 이 과정에서 제곱근(square root)과 거듭제곱(power) 연산이 필요하기 때문에, C 언어에서는 math.h 헤더 파일에 포함된 sqrt() 함수와 pow() 함수를 활용합니다.
- pow(d1, 2) : d1의 제곱 값을 반환합니다.
- sqrt() : 괄호 안 값의 제곱근을 반환합니다.
아래 코드는 두 대각선의 길이를 이용해 마름모의 둘레를 계산하는 프로그램입니다.
예제 코드
#include <stdio.h>
#include <math.h>
int main(){
int d1 = 3, d2 = 4, perimeter;
perimeter = (2 * sqrt(pow(d1,2) + pow(d2,2)));
printf("perimeter is %d", perimeter);
return 0;
}실행 결과
perimeter is 10
코드 설명
위 예제에서 두 대각선의 길이는 각각 d1 = 3, d2 = 4입니다. 공식에 대입하면 다음과 같이 계산됩니다.
둘레 = 2 × √(3² + 4²) = 2 × √(9 + 16) = 2 × √25 = 2 × 5 = 10
즉, 세 변의 길이를 직접 더하지 않고도 대각선 정보만으로 마름모의 한 변의 길이가 5임을 유추하고, 전체 둘레가 10임을 손쉽게 구할 수 있습니다. 이 방법은 변의 길이를 모르고 대각선 길이만 측정 가능한 상황에서 특히 유용합니다.