백준 알고리즘
[백준][C++] 1008번 : A / B
탱글한푸딩
2023. 6. 19. 10:35
반응형
문제
https://www.acmicpc.net/problem/1008
1008번: A/B
두 정수 A와 B를 입력받은 다음, A/B를 출력하는 프로그램을 작성하시오.
www.acmicpc.net
코드
#include <iostream>
using namespace std;
int main()
{
double A, B;
cin >> A >> B;
cout.precision(10);
cout << fixed;
cout << A / B << endl;
}
풀이
A, B가 float가 아닌 이유 : 문제가 바라는 절대오차 또는 상대오차는 10^9 이기 때문이다.
여러 정보들을 찾아보면
float의 상대오차는 10^6 ~ 9 정도이고, double의 상대오차는 10^15 ~ 18 정도 라고 한다.
cout.precision(N) : N번째 자릿수까지 반올림 출력한다.
cout << fixed : 소수점 아래 자릿수로 고정한다.
이 두개를 같이쓰면 소수점 아래 N번째 자릿수까지 반올림 출력된다.
이해를 위한 예시 )
1000과 3을 입력한다고 가정한다.
fixed를 사용하지않고 precision(5)를 사용 : 결과 333.33이 출력된다.
fixed를 사용하고 precision(5)를 사용 : 결과 333.33333이 출력된다.
반응형