1042 : [기초-산술연산] 정수 2개 입력받아 나눈 몫 출력하기
정수 2개(a, b) 를 입력받아 a를 b로 나눈 몫을 출력해보자.
단, -2147483648 <= a <= b <= +2147483647, b는 0이 아니다.
참고
C언어에서 정수/정수 연산의 결과는 정수(몫)로 계산된다.
실수/정수, 정수/실수, (float)정수/정수, 정수/(float)정수 등의 연산 결과는 실수 값으로 계산된다.
(float)(정수/정수)는 정수/정수의 결과인 정수 값을 실수형(float)로 바꾸는 것으로,
계산 결과인 정수 값이 실수 형태로 변환되는 것이니 주의해야 한다.
정수/실수 계산결과가 자동으로 실수형으로 바뀌는 것을 묵시적 (데이터)형변환이라고 하고,
어떤 값이나 결과의 데이터형을 강제로 바꾸는 것을 명시적 (데이터)형변환이라고 한다.
int a;
scanf("%d", &a);
printf("%f", (float)a);
와 같이 실행하면, 정수로 저장되어 있는 값을 실수형(float)으로 명시적으로 변환하여 출력한다.
입력
정수 2개(a, b)가 공백을 두고 입력된다.
단, -2147483648 <= a <= b <= +2147483647
출력
a를 b로 나눈 몫을 출력한다.
입력 예시
1 3
출력 예시
0
자바에서 공백을 두고 입력되는 정수 2개를 받아서 나누기 위해서는
먼저 String 형태로 받은 다음에 split 메소드를 사용하여 공백을 기준으로 정수 2개를 나눠야한다.
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
String[] num = str.split(" ");
그런 다음에 무조건 정수가 들어온다는 가정하에
배열에 첫 번째 부분과 두 번째 부분을 Integer.paseInt()를 사용하여 정수형으로 바꿔준다.
int num1 = Integer.parseInt(num[0]);
int num2 = Integer.parseInt(num[1]);
그리고 정수끼리 나누면 몫이 출력되므로 나눠서 출력하면된다.
package excercise;
import java.util.*;
public class codeup {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String str = sc.nextLine();
String[] num = str.split(" ");
int num1 = Integer.parseInt(num[0]);
int num2 = Integer.parseInt(num[1]);
System.out.println(num1/num2);
}
}
'코드업(CodeUp) > 기초 100제' 카테고리의 다른 글
[코드업/자바] 기초 100제 - 정수 1개 입력받아 1 더해 출력하기 (0) | 2021.01.19 |
---|---|
[코드업/자바] 기초 100제 - 정수 2개 입력받아 나눈 나머지 출력하기 (0) | 2021.01.18 |
[코드업/자바] 기초 100제 - 문자 1개 입력받아 다음 문자 출력하기 (0) | 2021.01.14 |
[코드업/자바] 기초100제 - 정수 1개 입력받아 부호 바꿔 출력하기 (0) | 2020.08.27 |
[코드업/자바] 기초 100제 - 정수 2개 입력받아 합 출력하기2 (0) | 2020.08.27 |