반응형
https://www.acmicpc.net/problem/2896
소수점에 대한 처리를 물어보는 문제였습니다.
c++에는 precision함수, c에는 printf("%.6f", a); 식으로 사용하여 자동으로 반올림하여 원하는 자리만큼 출력할 수 있습니다.
풀이방법 :
1. -0이 될 경우를 고려해 precision함수를 사용하였습니다.
Code :
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
#include <iostream>
#include <algorithm>
using namespace std;
int main(){
double a,b,c,l,j,k;
cin >> a >> b >> c >> l >> j >> k;
double mini = min({a/l, b/j, c/k});
cout.precision(7); //출력시 8번째자리에서 반올림한 후, 소수점 7번째자리까지 출력.
//printf("%.7lf %.7lf %.7lf\n", a - l*mini, b - j*mini, c - k*mini);
if(a- l * mini <= 0) cout << 0 <<' ';
else cout << a - l*mini << ' ';
if(b - j*mini <= 0) cout << 0 << ' ';
else cout << b - j * mini << ' ';
if(c - k*mini<=0) cout << 0 << ' ';
else cout << c - k*mini << ' ';
}
|
'Algorithm > Implementation' 카테고리의 다른 글
(Python) - 프로그래머스(Programmers) : 전화번호 목록 답 (0) | 2020.08.16 |
---|---|
(C++) - 프로그래머스(Programmers) : 완주하지 못한 선수 답 (0) | 2020.08.15 |
(C++) - 백준(BOJ) 11866번 : 요세푸스 문제 0 (0) | 2020.07.24 |
(C++) - 백준(BOJ) 1259번 : 팰린드롬수 (0) | 2020.07.08 |
(C++) - 백준(BOJ) 8979번 : 올림픽 (0) | 2020.04.17 |