풀다가 처음으로 틀린문제 (뭐.. 별로 안풀어봤지만)
그냥 아무생각 안하고 ㅋㅋ쉽네 이렇게 별생각 안하고 풀면 무조건 틀림
#include <iostream>
using namespace std;
int main()
{
double a, b = 0;
cin >> a >> b;
cout << fixed;
cout.precision(9);
cout<< a / b;
}
먼저 cout.precision(9); 이 코드는
cout.precision(9);
전체 수(자연수랑 소숫점 아래자리 포함)에서 9자리 수까지만 표현하겠다는 뜻임.
예를 들어 12,3456 이라는 수가 있다면
cout.precision(4)를 하면 12.34만 표현된다.
(나머지는 반올림 됨)
cout << fixed;
이 코드는 소숫점 아래 자리까지만 표현하겠다는 뜻임.
cout << fixed;
cout.precision(9);
이렇게 합쳐서 보면
소숫점 아래 자리로 9자리까지 표현하겠다는 뜻
double a, b = 0;
여기도 주의 해야한다.
float을 쓰면 유효숫자 6자리까지만 표현되서 틀림
그래서 double형을 써야함(double은 유효숫자 15자리)
더 정확하게 소수점을 표현하려면 long double 이나 long long을 쓰면 될 듯
휴.. 화나넹
'자료구조 & 알고리즘 > BOJ' 카테고리의 다른 글
[C++]백준 1단계 - 10926번 문제 (0) | 2022.11.17 |
---|---|
[C++]백준 1단계 - 10869번 문제 (0) | 2022.11.17 |
[C++]백준 1단계 - 10998번 문제 (0) | 2022.11.16 |
[C++]백준 1단계 - 1001번 문제 (0) | 2022.11.16 |
[C++]백준 1단계 - 1000번 문제 (0) | 2022.11.16 |