문제
https://www.acmicpc.net/problem/1008
1008번: A/B
두 정수 A와 B를 입력받은 다음, A/B를 출력하는 프로그램을 작성하시오.
www.acmicpc.net
코드
way1
#include <iostream>
using namespace std;
int main()
{
double a, b;
cin >> a >> b;
cout.precision(10);
cout << a / b;
return 0;
}
way2
#include <iostream>
using namespace std;
int main()
{
double a, b;
cin >> a >> b;
cout << fixed;
cout.precision(9);
cout << a / b;
return 0;
}
정리
절대오차 : 참 값에서 결괏값을 뺀 수치의 절댓값
상대오차 : 절대오차를 참 값으로 나눈 값
float의 상대오차는 약 10^-7
double의 상대오차는 약 10^-15
즉 이 문제에서는 절대오차 또는 상대오차가 10^-9 이하가 되여야 된다 했으므로 double 자료형을 사용해야 한다.
std::cout.precision(n) : 출력할 실수 전체 자리 수에서 n자리까지 표현 (정수부분, 소수부분 모두 고려)
std::fixed : 소수점 아래로만 고정 (소수부분만 고려)
fixed 후 cout.preciosion(n)을 사용할 경우 소수점 아래 n자리까지 표현
참조
'Beakjoon > else' 카테고리의 다른 글
[백준] 1181번 단어정렬 (C++) - sort, compare (0) | 2022.01.02 |
---|---|
[백준] 10951번 A+B - 4 (C++) (0) | 2021.12.29 |
[백준] 2741번 N 찍기 (C++) (0) | 2021.12.29 |
[백준] 2577번 숫자의 개수 (C++) (0) | 2021.12.29 |
[백준] 1152번 단어의 개수 (C++) (0) | 2021.12.28 |