백준 알고리즘

[백준][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이 출력된다.

반응형