Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 따배씨
- String
- programmers
- server
- graph
- Python
- greedy
- C
- DP
- php
- 정수론
- dfs
- 백준
- C언어
- 따라하며 배우는 C언어
- Algospot
- udemy
- sorting
- Math
- Algorithm
- 인프런
- BFS
- web
- BASIC
- 종만북
- Cleancode
- 생활코딩
- BOJ
- JavaScript
- 따라하면서 배우는 C언어
Archives
- Today
- Total
몽상실현개발주의
[종만북] 모듈라 연산 / 정수론 본문
[종만북] 모듈라 연산 / 정수론
모듈라 연산 (Modular Arithmetic)
- 모듈라 M 에 도달 하면, 다시 0으로 돌아가는 정수들로 하는 연산
- 모듈라 연산에서 모든 정수는 M 으로 나눈 나머지로 표현됨
- ex) 시계
모듈라 덧셈
- 두 수의 합의 모듈라 연산은, 두 수의 모듈라 연산 결과의 합과 같다.
- (a + b) % M = (a' + b') % M
a % M = a' , b % M = b' -> (a + b) % M = ?
a = Mx + a' , b = My + b'
(a + b) = (Mx + a') + (My + b') = M(x+y) + ( a'+b')
(a + b) % M = ( M(x+y) + a' + b') % M = (a' + b') % M
-> (a + b) % M = (a' + b') % M
덧셈/뺄셈/곱셈 모두 적용됨
- (a + b) % M = ((a % M) + (b % M)) % M
- (a - b) % M = ((a % M) - (b % M) + M) % M
- (a * b) % M = ((a % M) * (b % M)) % M
모듈라 연산의 나눗셈
- 모듈라 연산에서의 나눗셈 a/b는 b로 나누는 대신 b의 곱셈 역원(multipli cative inverse)을 곱하는 방식
- b의 곱셈 역원은 항상 존재 하는 것이 아니라, b가 M과 서로소일 때만 존재
모듈라 연산의 나눗셈은 일반적인 알고리즘 범위를 벗어나는 수학적인 문제
'Language > Algorithm' 카테고리의 다른 글
[종만북] 연결 리스트 / 선형 자료 구조 (0) | 2021.11.12 |
---|---|
[종만북] 동적 배열 / 선형 자료 구조 (0) | 2021.11.10 |
[종만북] POTION / solution 효율적인 알고리즘 / Python 파이썬 (0) | 2021.10.09 |
[종만북] POTION / solution 직관적인 알고리즘 / Python 파이썬 (0) | 2021.10.09 |
[종만북] 두 수의 최대공약수 구하기 / 정수론 / Python 파이썬 (0) | 2021.10.04 |
Comments