백준 1008번 - A/B

VDoring·2021년 8월 29일
0

백준-문제풀이

목록 보기
5/16

문제 출처

1008번: A/B

코드

#include <stdio.h>
int main() {
	double a, b;
	scanf("%lf %lf", &a, &b);
	printf("%.9lf", a / b);
}

해결 방법

문제에서 실제 정답과 출력값의 절대오차 또는 상대오차가 10-9 이하이면 정답이다. ****라는 조건을 주었다.
따라서 float이 아닌 double을 사용해야 함을 알 수 있다.

double 변수는 %lf를 사용해서 입력과 출력을 할 수 있다는 것까지 고려하여 문제를 해결하였다.

느낀 점

쉬워 보이지만 쉬운 문제가 아니었다.

무조건 9자리 소수점을 출력하라는 문구도 없었고, 9자리 소수점으로 출력하면 '예제 출력 2'의 결과가 말이 되지 않기 때문이다.

하지만 이 문제는 결국 9자리 소수점을 출력하게 해야 했으니, 초보자들이 풀면 한 번쯤은 틀릴만한 문제이다.

아, 그리고 double을 모른다면 틀릴 수밖에 없는 문제이다.
float은 double에 비해 정확한 값을 제공하는 범위가 작기 때문이다. 따라서 float을 사용하면 이 문제에선 정확한 정답을 출력할 수 없다.

인상 깊은 문제였다.

profile
< Beginners Heart >

0개의 댓글