Computer >> 컴퓨터 >  >> 프로그래밍 >> C++

C++로 반원의 넓이와 둘레 계산하기: 초간단 구현 가이드

문제 개요

이 문제에서는 반원의 반지름을 나타내는 값이 하나 주어지며, 이 값을 이용해 C++로 반원의 넓이와 둘레를 계산하는 프로그램을 작성하는 것이 목표입니다.

반원(Semicircle)은 원을 정확히 절반으로 나눈 닫힌 도형으로, 곡선 부분과 지름(직선 부분)으로 이루어져 있습니다.

예제로 이해하기

입력:

R = 5

출력:

area = 39.25
perimeter = 15.7

해결 접근 방법

반원은 본질적으로 원을 2로 나눈 형태이므로, 원의 넓이 공식을 응용하면 손쉽게 계산할 수 있습니다.

  • 반원의 넓이(A): 원의 넓이의 절반이므로 A = ½ × π × r² ≈ 1.571 × r²
  • 반원의 둘레(P): 곡선 부분의 길이는 P = π × r

참고로, 지름(2r)까지 포함한 전체 경계 길이를 구하고 싶다면 P = π × r + 2 × r 공식을 사용하면 됩니다. 위 예제에서는 곡선 부분만 계산합니다.

C++ 구현 코드

#include <iostream>
using namespace std;

// 반원의 넓이를 계산하는 함수
float calaAreaSemi(float R) {
    return (1.571 * R * R);
}

// 반원의 둘레를 계산하는 함수
float calaPeriSemi(float R) {
    return (3.142 * R);
}

int main() {
    float R = 5;
    cout << "반원의 반지름: " << R << endl;
    cout << "반원의 넓이: " << calaAreaSemi(R) << endl;
    cout << "반원의 둘레: " << calaPeriSemi(R) << endl;
    return 0;
}

실행 결과

반원의 반지름: 5
반원의 넓이: 39.275
반원의 둘레: 15.71

코드 설명

위 프로그램은 두 개의 독립적인 함수로 구성되어 있어 구조가 명확하고 재사용성이 높습니다.

  • calaAreaSemi(): 반지름 R을 매개변수로 받아 1.571 × R × R(즉, ½πR²) 공식으로 넓이를 계산해 반환합니다.
  • calaPeriSemi(): 반지름 R을 받아 3.142 × R(즉, πR) 공식으로 둘레를 계산해 반환합니다.

main() 함수에서는 반지름 값 5를 설정한 뒤 두 함수를 호출하여 결과를 출력합니다. 두 계산 모두 단순한 산술 연산만 수행하므로 시간 복잡도는 O(1)이며, 입력 크기와 무관하게 항상 일정한 시간 안에 결과를 얻을 수 있습니다.