1008. A/B 풀이
난이도: Bronze V
문제 주소: https://www.acmicpc.net/problem/1008
문제 풀이
백준 새 계정을 파서 문제를 오랜만에 기초부터 다시 풀어보고 있는데 브론즈5에서 틀릴거라곤 상상도 못했는데 이 문제를 한번 틀려버렸다 왜틀렸지 하고 처음에 생각을 해보니 전에도 이문제를 틀렸던 기억이 났다
틀린이유
그때는 그냥 파이썬으로 제출해서 해결했는데 이번에는 다시 푸는 만큼 왜 틀렸는지 대충 찾아보닌까 c++는 따로 추가 설정을 하지 않으면 실수 출력자리를 6자리로 제한 하는데 이로인해 정밀도 부분에서 오답처리가 된것이였다
해결방법
실수 출력을 제어할려면 두가지 설정이 필요한데 fixed 와 precision이다.
precision(n) 은 출력할 숫자의 자릿수를 n자리로 설정하고
fixed를 사용할 경우 기존에 전체 유효숫자를 n으로 설정하던걸 소수점 아래 부분을 n자리로 고정하게 해준다 이를 통해
cout << fixed << setprecision(12) << a / b
와 같이 작성하면 문제를 해결할 수 있다
최종 코드
#include <iostream>
#include <vector>
#include <algorithm>
#include <iomanip>
using namespace std;
int main() {
ios::sync_with_stdio(false);
cin.tie(NULL);
double a, b;
cin >> a >> b;
cout << fixed << setprecision(12) << a / b ;
return 0;
}
'Algorithm > 백준' 카테고리의 다른 글
| [백준] 1654 - 랜선 자르기 (0) | 2026.03.13 |
|---|---|
| [백준] 10989 - 수 정렬하기 3 (0) | 2026.03.08 |
| 백준 - 15829 (0) | 2026.03.08 |
| 백준 - 2231 (0) | 2026.03.07 |
| 백준 - 3273 (0) | 2024.12.26 |