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();
int C = sc.nextInt();
System.out.println((A+B)%C);
System.out.println((A%C + B%C )%C);
System.out.println((A*B)%C);
System.out.println((A%C * B%C)%C);
}
}
세 숫자를 입력받아 나머지 연산자를 이용하여 값을 구하는 문제.
더 적은 시간과 메모리로 해결해보기 위해 BufferedReader를 사용해보려 했으나 코드에 딱히 이상이 없어 보이는데도 불구하고 실패가 떴다. 이상하다 싶어서 싹 지우고 Scanner를 사용했는데도 런타임에러(NoSuchElement)가 발생했다.(이클립스에서는 잘 작동했다.) 더 이상하다 싶어서 아예 클래스를 새로 만들어서 다시 코드를 쳐보니까 Scanner로 해결되었다. 문제가 발생한 이유가 될만한 건 새로 클래스를 생성한 게 아니라 예전에 썼던 Main 클래스의 내용만 지우고 작성했다는 점이다. 사실 왜 오류가 생겼는지 잘 모르겠다.. 며칠뒤에 까먹을때쯤 다시 해봐야할 것 같다.
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));
String str = br.readLine();
StringTokenizer st = new StringTokenizer(str," ");
int A = Integer.parseInt(st.nextToken());
int B = Integer.parseInt(st.nextToken());
int C = Integer.parseInt(st.nextToken());
System.out.println( (A+B) % C);
System.out.println( ( (A%C) + (B%C) ) % C);
System.out.println( (A*B) % C);
System.out.println( ( (A%C) * (B*C) ) % C);
}
}