티스토리 뷰
최대공약수(Great Common Divisor / GCD)
어느 수들의 공통된 약수중 가장 큰 약수를 최대 공약수라고 한다.
<유클리드 호제법>
int a, b;
int r=a%b;
int g; //g는 최대공약수
gcd(a,b)=gcd(b,r);
if(r==0){
g=b;
}
////재귀함수를 사용한 유클리드 호제법 구현
int gcd(int x, int y){
if(b==0){
return a;
}else{
return gcd(b, a%b);
}
}
////재귀함수를 사용하지 않는 유클리드 호제법 구현
int gcd(int a, int b) {
while(b!=0) {
int r=a%b;
a=b;
b=r;
}
return a;
}
최소 공배수(Least Common Multiple/LCM)
어느 수들의 공통된 배수 중 가장 작은 배수를 최대 공배수라고한다.
public static int lcm(int a, int b) {
int l = a*b/gcd(a,b);
return l;
}
'Algorithm > 수학 코딩' 카테고리의 다른 글
[에라토스테네스의 체] Java로 구현하기 (0) | 2019.12.08 |
---|
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
TAG
- 증감연산자 계산 순서
- MinGW 한글 깨짐
- 안스 프로젝트 구조
- C언어 한글
- printf 계산 순서
- C언어 printf문
- 계산 순서
- 배열 메모리
- C언어 한글 깨짐
- 백준
- 윈도우 복붙
- CLion 한글 깨짐
- c언어 필드 폭지정
- 배열 주의사항
- CLion 한글
- printf 스택
- C언어 배열 선언
- 연산 순서
- python list 팁
- 필드 폭 지정
- 복붙하기
- MinGW 한글
- manifest 의미
- 다이나믹 프로그래밍
- c언어 공백 출력
- 배열 메모리 할당
- printf문 연산자
- 모바일 앱 설계
- res 의미
- 앱 프로그래밍
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함