💻 개인공부 💻/알고리즘

[백준 - 1008] A/B

공대생 배기웅 2020. 7. 31. 00:54
반응형

출처 => https://www.acmicpc.net/problem/1008

 

1008번: A/B

두 정수 A와 B를 입력받은 다음, A/B를 출력하는 프로그램을 작성하시오.

www.acmicpc.net

문제

두 정수 A와 B를 입력받은 다음, A/B를 출력하는 프로그램을 작성하시오.

입력

첫째 줄에 A와 B가 주어진다. (0 < A, B < 10)

출력

첫째 줄에 A/B를 출력한다. 실제 정답과 출력값의 절대오차 또는 상대오차가 10-9 이하이면 정답이다.

예제 입력 1 복사

1 3

예제 출력 1 복사

0.33333333333333333333333333333333

10-9 이하의 오차를 허용한다는 말은 꼭 소수 9번째 자리까지만 출력하라는 뜻이 아니다.

예제 입력 2 복사

4 5

예제 출력 2 복사

0.8

 

 

 

소스코드 및 실행 결과

 

1
2
3
4
5
6
7
8
9
10
#include<iostream>
using namespace std;
 
int main() {
    double a, b;
    cin >> a >> b;
    cout.precision(10);
    //소수점 아래 9번째 자리까지 출력
    cout << a / b << endl;
}
cs

 

 

오답 원인

1. precision()함수

문제에서 10의 -9 까지의 오차를 허용한다 하였고, 출력 예시로 0.333333333이 출력되는 것으로 보아 출력되는 소수점이 자리까지 고려를 해야 했다. 

 

2. double 형 사용

숫자를 입력할 때 int형이 아닌 double형으로 작성을 해야 하였다. 

 

3. result라는 또다른 변수 사용

가장 간단한 코드가 좋은 코드! 그냥 a/b를 출력하면 되는데 이를 result라는 또다른 변수를 사용하여 result=(double)a/b;라고 지정을 하였다. 

728x90
반응형