나머지 풀이
2023. 6. 7. 17:50ㆍBaekJoon/입출력과 사칙연산
문제내용
사용자에게 3개의 수를 입력 받아 각각 (A+B)%C, ((A(B%C))%C, (AxB)%C, ((A%C)x(B%C))%C를 한줄마다 출력하는 문제이다.
풀이
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int numA = sc.nextInt();
int numB = sc.nextInt();
int numC = sc.nextInt();
int line1 = (numA+numB)%numC;
int line2 = ((numA%numC)+(numB%numC))%numC;
int line3 = (numA*numB)%numC;
int line4 = ((numA%numC) * (numB%numC))%numC;
System.out.println(line1);
System.out.println(line2);
System.out.println(line3);
System.out.println(line4);
}
}
이 문제는 심플하다. 출력 예시를 보고 그대로 식을 대입해 출력하면 된다. 세개의 수를 사용자에게 입력받기 위해 Scanner를 사용해서 numA, numB, numC를 입력받고 각각 라인에 표현돼야할 식을 대입해서 출력해주었다.
겪었던 문제
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int numA = sc.nextInt();
int numB = sc.nextInt();
int numC = sc.nextInt();
int line1 = (numA+numB)%numC;
int line2 = (numA%numC)+(numB%numC)%numC;
int line3 = (numA*numB)%numC;
int line4 = (numA%numC)*(numB%numC)%numC;
System.out.println(line1);
System.out.println(line2);
System.out.println(line3);
System.out.println(line4);
}
}
위와 같이 식을 그대로 대입했어야 했는데 괄호를 line2와 line4에 넣지 않아 연산 순위가 뒤바껴 문제를 틀렸었다. 꼭 문제를 풀 때 생각은 자유롭게 하되 주어진 것을 지키자...😂