-
[백준/C++] 1008번 : A/B코딩/백준(알고리즘) 2022. 11. 15. 17:38
백준 1008번 : A/B
풀이
#include <iostream> using namespace std; // std::cout 대신 std::를 생략하고 cout만 쓰기 위함 int main(void) { double a, b; // 정수 A와 B를 입력받기 위한 변수 두개를 선언하자. 다만 소숫점 // 계산을 위해 double 자료형으로 선언하여 이곳에 저장했다. double result; // A/B의 값을 담기 위해 선언한 변수이다. // double은 소숫점을 포함한 수를 담을 수 있는 자료형으로, // double이 float보다 더 정밀한 값을 담을 수 있다. 자료형 자체의 크기가 // float보다 더 크기 때문에 더 많은 데이터를 담을 수 있다. float는 소숫점 // 이하 7자리, double은 소숫점 이하 16자리까지 표현할 수 있다고 한다 cin >> a >> b; // a와 b의 값을 입력받는다. result = a / b; // a/b의 값을 result 변수에 담는다. cout << fixed; cout.precision(9); // 기본적으로 cout은 double과 같은 부동소수점 자료형을 출력할때 정밀도가 // 6으로 설정되어있다. 즉 숫자를 6개만 출력하고 나머지는 대략적으로 // 표현해버린다. cout.precision(숫자)은 cout의 정밀도롤 재설정하는 함수이고, // cout << fixed;는 소수점 아래 부분만 제한 범위를 고정해라 이런 뜻이라고 // 한다. // 그래서 위의 두 코드를 해석해보면 소숫점 아래 9자리를 표현하라 이렇게 // 해석할 수 있다. cout << result << endl; // result 값을 출력하고 줄바꿈. return 0; }
백준 단계별로 풀어보기 중 첫 번째 카테고리 "입출력과 사칙연산"의 문제 중 하나이다. fixed, precision 같은 경우 알고리즘 문제를 풀 때 소수점 처리를 위해 유용하게 사용되기 때문에, 구글링 해서 관련 정보를 찾아보는 것도 좋은 선택이 될 것 같다.
문제 링크
백준 1008번 : A/B
https://www.acmicpc.net/problem/1008'코딩 > 백준(알고리즘)' 카테고리의 다른 글
[백준/C++] 18108번 : 1998년생인 내가 태국에서는 2541년생?! (0) 2022.11.16 [백준/C++] 10926번 : ??! (0) 2022.11.15 [백준/C++] 1000번 : A+B (0) 2022.11.15 [백준/C++] 2557번 : Hello World (0) 2022.11.15