[C]백준_16486 : 운동장 한 바퀴

Alal11·2022년 9월 2일
0
post-thumbnail

출처

https://www.acmicpc.net/problem/16486


문제

세연이네 학교 운동장은 아래와 같다.

위의 그림에서 영역 A와 B는 반원이며, 영역 C는 직사각형이다. 영역 C의 가로의 길이를 d1, 영역 A의 반지름의 길이 d2의 값이 주어지면 운동장의 한 바퀴 둘레를 알아내는 프로그램을 작성하시오. (단, 이 문제에서는 π (원주율)의 값을 3.141592라고 한다.)


입력

첫째 줄에 d1의 값이 주어진다. 둘째 줄에는 d2의 값이 주어진다. (d1, d2의 값은 100,000 이하의 양의 정수)


출력

첫째 줄에 문제에서 요구하는 정답을 출력한다. 절대/상대 오차는 10-6 까지 허용한다.


예제 입출력


알고리즘 분류

  • 수학
  • 기하학

➡️문제 분석

d1과 d2가 주어졌을 때
운동장의 둘레, 즉 갈색 선의 길이를 구하는 문제이다.

원 둘레 길이 = 2πr 이므로
운동장의 둘레는 (d1 * 2) + (2 * π *d2 ) 이다.


➡️코드(⭕)

#include <stdio.h>
#define PI 3.141592

int main(void)
{
	int d1, d2;
	float dr;

	scanf("%d %d", &d1, &d2);

	dr = 2 * d1 + 2 * d2 * PI;
	printf("%f\n", dr);

	return 0;
}

➡️코드 분석

  1. define으로 π의 값을 3.141592라고 정의해준다. (바뀌지 않는 값!)

  2. d1과 d2를 입력받고, 운동장의 둘레의 길이를 구하는 식을 세워준다.

  3. 마지막으로 printf로 둘레의 길이를 출력해준다.


➡️end

define을 처음 써봤던 문제!
잘 안써서 까먹고 있었는데 앞으로 쓸 수 있으면 활용해 보자

0개의 댓글