새소식

알고리즘/문제풀이

백준 - 10430번 나머지

  • -

해설


기본적인 사칙연산 문제입니다. 

 

여기서 알아두어야할 것은 바로 모듈러(나머지) 연산입니다. 이 문제를 푸는데는 필요가 없지만 후에 알고리즘을 풀 때 사용하는 경우가 있습니다.

 

알고리즘 문제를 푸는 과정에서 결과 값이 매우 큰 경우, 결과 값의 나머지를 구하라는 문제가 자주 등장합니다.
단순히 결과 값에 모듈러 연산을 수행할 시 결과 값이 이미 너무 커져 오버플로우가 발생하는 경우가 있는데, 연산 과정 도중에 모듈러 연산을 적용해야 이러한 오버플로우가 발생하지 않습니다.

 

모듈러 연산(분배법칙)

 

모듈러 연산에 대한 자세한 내용은 후에 다루도록 하겠습니다. 여기선 이런게 있구나 하는 정도만 알고 넘어가시길 바랍니다.

 

코드


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

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

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.