<문제 제시>
<예시 입출력>
<문제 해결 과정>
간단한 문제이지 싶어, Scanner를 새롭게 만들고 int형으로 변수 a, b를 선언한 후
출력문에서 System.out.println(a / b); 로 출력을 해보았지만
원치 않는 결과가 나오게 되었다. 제시된 조건 중에 절대오차, 상대오차에 관한 내용이 나와있는데,
그것을 고려하여 변수형을 바꾸어 시도해보게되었다.
처음에 float 자료형으로 처리를 해보았지만
원하는 결과가 나오지 않았고, double 자료형으로 바꾸고 난 후에야 정답 출력값이 나올 수 있었다.
아마도 유효자릿수가 float자료형보다는 double 자료형이 더 많이 처리할 수 있어서 이러한 결과가 나온 것 같다.
<전체코드>
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
double a = sc.nextDouble();
double b = sc.nextDouble();
System.out.println(a / b);
}
}
float 자료형은 7자리수 까지 가능한 한편, double은 15~16자리 까지 표현할 수 있으므로, 출력값에서 더 세밀한 결과를 요구하는 이러한 문제에서는 더 높은 정밀도의 double 자료형을 사용해야 한다는 것을 알 수 있었다.
참고)
https://st-lab.tistory.com/17
[백준] 1008번 : A/B - JAVA [자바]
https://www.acmicpc.net/problem/1008 1008번: A/B 두 정수 A와 B를 입력받은 다음, A/B를 출력하는 프로그램을 작성하시오. www.acmicpc.net 문제 매우 간단한 문제다! 다만 주의할 것이라면 입력이 공백 단위..
st-lab.tistory.com
문제링크)
https://www.acmicpc.net/problem/1008
1008번: A/B
두 정수 A와 B를 입력받은 다음, A/B를 출력하는 프로그램을 작성하시오.
www.acmicpc.net
'Algorithms > 백준' 카테고리의 다른 글
[백준] 2753번 '윤년' - Java (0) | 2022.09.02 |
---|---|
[백준] 10172번 '개' - Java (2) | 2022.09.01 |
[백준] 10430번 '나머지' - Java (0) | 2022.08.31 |
[백준] 18108번 '1998년생인 내가 태국에서는 2541년생?!' - Java (0) | 2022.08.30 |
[백준] 3003번 '킹, 퀸, 룩, 비숍, 나이트, 폰' - Java (1) | 2022.08.23 |