24.02.09 TIL - 알고리즘 : 백준, 나머지 (10430번) | 모듈러 연산의 특징

JJwoo·2024년 2월 9일

알고리즘

목록 보기
6/18

풀이

            string[] s = Console.ReadLine().Split();
            int a = int.Parse(s[0]);
            int b = int.Parse(s[1]);
            int c = int.Parse(s[2]);

            Console.WriteLine((a+b) % c);
            Console.WriteLine(((a%c) + (b%c)) % c);
            Console.WriteLine((a*b) % c);
            Console.WriteLine(((a%c) * (b%c)) % c);

🍳 문제의 핵심

모듈러(나머지) 연산의 특징을 알 수 있다.

  • 분배 법칙

덧셈 나머지 연산
(A + B) % C
((A % C) + (B % C)) % C 와 같고

곱셈 나머지 연산
(A * B) % C
((A % C) * (B % C)) % C 와 같다.

덧셈이나 곱셈 후에 나머지를 구하는 것과 각각의 수에 대해 먼저 나머지를 구한 후에 덧셈이나 곱셈을 해도 결과가 "동일" 하다

결론

큰 수를 다룰 때 미리 나머지를 구하면 계산을 간소화할 수 있다 = 계산이 훨씬 간단하다 = 프로그래밍 비용(리소스)가 적게 든다 + 오버플로우를 방지

profile
개발 모코코

0개의 댓글