자료구조 & 알고리즘/BOJ

[C++]백준 1단계 - 1008번 문제

ReBugs 2022. 11. 17.

풀다가 처음으로 틀린문제 (뭐.. 별로 안풀어봤지만)

그냥 아무생각 안하고 ㅋㅋ쉽네 이렇게 별생각 안하고 풀면 무조건 틀림


#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을 쓰면 될 듯

휴.. 화나넹

댓글