본문 바로가기
알고리즘/백준 BOJ

[BOJ C++ ] 1008 A/B, 소수점 자리 고정하기 precision과 fixed

by 왹져박사 2023. 7. 12.
728x90

https://www.acmicpc.net/problem/1008

 

1008번: A/B

두 정수 A와 B를 입력받은 다음, A/B를 출력하는 프로그램을 작성하시오.

www.acmicpc.net

1008번부터는 새로운 개념을 공부해야했다. 

stdio.h가 아닌 iostream을 사용하고있기 때문에 정답을 위해 '소수점 자리 고정'을 필수로 공부해야했다. 

다른 유저들의 해답을 찾아보니 두가지 개념이 있었다. 

 

1. cout.precision(n)

cout.precision(n)은 출력을 n자리수의 실수로 고정하는 것이다. 

 

예제)

	double x = 10.888888;
	cout.precision(4);
	cout << x;

를 출력하면

로 출력된다. (반올림)

 

 

2. fixed

fixed는 고정 소수점 표기로 전환한다. 

따라서, 

	double x = 10.888888;
	cout.precision(4);
	cout << fixed;
	cout << x;

를 출력하면 

가 출력된다. 

 

 

다시 문제로 돌아가서,

이라는 조건을 충족해야 했기 때문에, 넉넉하게 n을 설정해준다. 15로 설정하였다. 

 

#include <iostream>

using namespace std;

int main(int argc, char const* argv[])
{
	double a;
	double b;

	cin >> a >> b;
	double ans = a / b;
	cout.precision(15);
	cout << fixed;
	cout << ans;

	return 0;
}

728x90