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

C++로 원의 지름(최장 현) 구하기

문제 개요

반지름 r이 주어졌을 때, 해당 원의 지름(diameter), 즉 원 안에서 가장 긴 현(chord)을 구하는 것이 목표입니다. 기하학적으로 지름은 원의 중심을 지나는 현으로, 원에 그릴 수 있는 모든 현 중 가장 길기 때문에 '최장 현'과 '지름'은 본질적으로 같은 값입니다.

예를 들어 반지름이 9라면 지름은 18이 됩니다. 계산 방식은 매우 단순합니다. 아래 공식처럼 반지름에 2를 곱하기만 하면 됩니다.

지름 = 2 × 반지름 (2r)

C++ 구현 예제

다음 코드는 반지름을 매개변수로 받아 지름을 반환하는 함수 getDiameter()를 정의하고, 반지름 9를 입력하여 결과를 출력합니다.

#include <iostream>
using namespace std;

int getDiameter(int r) {
    return 2 * r;
}

int main() {
    int r = 9;
    cout << "원의 가장 긴 현(지름)은 : " << getDiameter(r);
    return 0;
}

실행 결과

원의 가장 긴 현(지름)은 : 18

동작 원리 정리

  • getDiameter(int r) 함수는 전달받은 반지름에 2를 곱한 값을 그대로 반환합니다.
  • main() 함수에서 반지름 9를 인자로 넘겨 호출하면, 2 × 9 = 18이 계산되어 화면에 출력됩니다.
  • 연산 횟수와 무관하게 상수 시간(O(1)) 안에 결과를 얻을 수 있어 매우 효율적입니다.

이처럼 원의 지름은 '반지름의 두 배'라는 기본 공식만 알면 누구나 쉽게 구현할 수 있는 아주 간단한 문제입니다.