ABOUT ME

Park's Office

Today
Yesterday
Total
  • [백준/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

     

    1008번: A/B

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

    www.acmicpc.net

박스오피스