백준 문제풀이/입출력과 사칙연산

1008. A/B

뮤츠 2022. 8. 28. 20:43

 

앞서 본 사칙연산 시리즈 중 마지막인 나눗셈.

나눗셈은 주의해야하는 것이, 앞선 덧셈, 뺄셈, 곱셈처럼 마지막 출력값에서 연산만 바꿔주면 해결되는 것이 아니다.

정수와 정수의 나눗셈으로 나머지가 남을 경우, 실수가 나올 수 있기 때문이다.

그런데 A, B를 정수로 받아 그대로 나누면 정수값인 몫부분만 출력되어버린다. 나머지 부분에 해당하는 소숫점은 그대로 버려버리는 문제가 있다.

 

이를 위해서는 2가지 해결법이 있는데,

1. 출력값을 실수로 변환한다 (Casting)

2. 처음부터 변수 A, B를 실수로 받는다. (실수로 받을경우, 실수간 나눗셈은 실수값으로 출력되므로)

 

두가지 풀이를 모두 해보도록 하겠다.

 

1. Casting

import java.util.Scanner;

public class Main {

	public static void main(String[] args) {
		Scanner sc = new Scanner(System.in);
		
		int A = sc.nextInt();
		int B = sc.nextInt();
		
		System.out.println((double)A/B);		

	}
}

 

2. 변수 실수 선언

 

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);		

	}
}

실수와 실수 사이의 연산은 실수로 계산되므로, 출력값을 따로 Casting 해줄 필요는 없다.

'백준 문제풀이 > 입출력과 사칙연산' 카테고리의 다른 글

10926 : ??!  (0) 2022.08.28
10869. 사칙연산  (0) 2022.08.28
10998. AxB  (0) 2022.08.28
1001. A-B  (0) 2022.08.28
1000. A+B  (0) 2022.08.28