본문 바로가기
C#/C# : Baekjoon

[백준] C# : A/B (1008번)

by TODAYCODE 2021. 7. 21.
반응형

백준 단계별로 풀어보기 1단계 입출력과 사칙연산 8번 문제

 

1008번: A/B

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

www.acmicpc.net

 

문제의 핵심

1. float보다 더 정확한 정수형을 알고 있는가?

 

 

우선,

기본적인 입출력과 사칙연산에 대해서는 이전 글을 참고하자.

 

c# : A+B (1000번)

백준 단계별로 풀어보기 1단계 입출력과 사칙연산 5번 문제 1000번: A+B 두 정수 A와 B를 입력받은 다음, A+B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 입출력 문제가 끝나고 사칙연산 문제가

coding-of-today.tistory.com

 

이 문제는 나눠서 소수점까지 표현해야하는 문제이다.

 

문제를 살펴보면 이렇게 쓰여있다.

"실제 정답과 출력값의 절대오차 또는 상대오차가 10^-9이면 된다" 

 

만약 소수점 표현을 위해서 float형을 사용했다면 절대로 맞출 수가 없다.

float 형식은 소수 7번째 자리까지만 다룰 수 있기 때문이다.

 

문제에서의 요구는 9번째 자리수까지 맞춰야한다.

따라서, float보다 더 정확한 데이터 형식을 사용해야한다.

 

C#에서는 float 이외에도 double이라는 형식이 존재한다.

double은 8바이트로 float의 2배의 크기이며, 소수점 15자리까지 정확하게 다룬다.

 

double 형식을 사용하는 것으로 해당 문제를 풀 수 있다.

 

 

C# 팁.

decimal 이라는 데이터 형식도 존재한다.

decimal은 소수점 29번째까지 표현할 수 있는 소수 형식이다.

 

float 형식은 숫자 뒤에 f,

decimal 형식은 숫자 뒤에 m 을 붙여야한다.

double은 숫자 뒤에 아무것도 적지 않는다.

 

 

 

 

정답코드

using System;

namespace baekjoon
{
    class 사칙연산
    {
        static void Main(string[] args)
        {
            
            string[] s = Console.ReadLine().Split();
           
            Console.WriteLine(double.Parse(s[0]) / double.Parse(s[1]));
        }
    }
}
반응형

'C# > C# : Baekjoon' 카테고리의 다른 글

[백준] C# : 나머지 (10430번)  (0) 2021.07.22
[백준] C# : 사칙연산 (10869번)  (0) 2021.07.22
[백준] C# : A X B (10998번)  (0) 2021.07.21
[백준] C# : A-B (1001번)  (0) 2021.07.21
[백준] C# : A+B (1000번)  (0) 2021.07.21

댓글