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
- 분할정복
- SQL
- 스프링
- TCP
- GIT
- 순열
- 그리드 알고리즘
- HTTP
- 트리
- BFS
- 도커
- 다이나믹프로그래밍
- 백준
- 브루트포스
- 그리드
- 재귀
- 역방향 반복자
- 자바
- Spring
- dfs
- github action
- AWS
- CI/CD
- 알고리즘
- 다이나믹 프로그래밍
- 컴퓨터 네트워크
- 이분탐색
- 자료구조
- 분할 정복
- 그래프
Archives
- Today
- Total
코딩성장스토리
수학 본문
1.나머지 연산
(a+b)%c=((a%c)+(b%c))%c
(a*b)%c=((a%c)*(b%c))%c
(a-b)%c=((a%c)-(b%c)+c)%c → 뺼셈의 경우 음수가 될 수 있기에 +c를 해줘야한다.
나누기 연산은 불가능
증명)
a=q1c+r1 a+b=(q1+q2)c+(r1+r2) → (a+b)%c =(r1+r2)%c
b=q2c+r2 a%c=r1
b%c=r2
→a%c+b%c =r1+r2 이고 여기서 c를 나누면
(r1+r2)%c 이다
2.최대공약수(GCD)
유클리드 호제법
a를 b로 나눈 나머지를 r일떄
GCD(a,b)=GCD(b,r) 이다
재귀함수를 이용한 유클리드 호제법
int gcd(int a,int b){
if(b==0){
return 0;
}else{
return gcd(b,a%b);
}
}
재귀함수를 사용하지 않고 구현한 유클리드 호제법
int gcd(int a,intb){
while(b!=0){
int r=a%b;
a=b;
b=r;
}
return 0;
}
세 수의 최대공약수
GCD(a,b,c)=GCD(GCD(a,b),c)
3.최소 공배수(LCM)
a,b의 최대공약수 g ,최소공배수 l 일떄
l=(a/g)*(b/g)*g
'자료구조' 카테고리의 다른 글
유니온 파인드(union find) (0) | 2022.01.18 |
---|---|
순열 (0) | 2022.01.12 |
브루트 포스(Brute force search):완전탐색 (0) | 2021.10.19 |
트리 (0) | 2021.10.11 |
그래프 (0) | 2021.10.01 |