https://www.acmicpc.net/problem/1008
백준 온라인 저지(BOJ)의 첫 번째 단계인 "입출력과 사칙연산"의 여덟 번째 문제이다.
앞선 문제들과 유사하지만 다른 점이 하나 있다.
바로 출력의 오차인데,
출력의 오차를 10^-9 이하로 허용한다는 점이다.
float은 유효자리, 즉 정밀도가 소수점 아래로 7자리 이고,
double은 유효자릿수가 소수점 아래로 16자리이다.
즉 입력받는 수의 타입을 double형으로 해야
문제에서 제시하는 오차의 범위를 맞출 수 있다.
이 점만 생각하면 이전과 다를것이 없다.
- 첫 번째 방법 - Scanner + StringTokenizer
import java.util.Scanner;
import java.util.StringTokenizer;
public class Main{
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
StringTokenizer st = new StringTokenizer(in.nextLine());
double A = Double.parseDouble(st.nextToken());
double B = Double.parseDouble(st.nextToken());
System.out.println(A/B);
}
}
- 두 번째 방법 - BufferedReader + StringTokenizer
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
double A = Double.parseDouble(st.nextToken());
double B = Double.parseDouble(st.nextToken());
System.out.println(A/B);
}
}
- 느낀 점
double과 float의 오차에 대해 알 수 있었다.
'[JAVA] > 자바[JAVA] 백준' 카테고리의 다른 글
BOJ(백준 온라인 저지) 10430번 - 단계별로 풀어보기 with 자바[JAVA] (0) | 2022.01.04 |
---|---|
BOJ(백준 온라인 저지) 10869번 - 단계별로 풀어보기 with 자바[JAVA] (0) | 2022.01.04 |
BOJ(백준 온라인 저지) 10998번 - 단계별로 풀어보기 with 자바[JAVA] (0) | 2022.01.04 |
BOJ(백준 온라인 저지) 1001번 - 단계별로 풀어보기 with 자바[JAVA] (0) | 2022.01.04 |
BOJ(백준 온라인 저지) 1000번 - 단계별로 풀어보기 with 자바[JAVA] (0) | 2022.01.04 |