최대공약수 (GCD : greatest common divisor)
유클리드의최대공약수 알고리즘
1. 두 개의 정수 u, v를 입력받는다.
2. v가 u보다 크면 값을 교환한다.
3. u에는 u-v의 값을 저장한다.
4. u가 0이면 v가 최대공약수.
u가 0이 아니면 2로 돌아간다.
하지만 이 방법은 u와 v의 차가 크면 성능이 떨어지기때문에 다른 방법을 씁니다.
1. 두 개의 정수 u, v를 입력받는다.
2. v가 0이면 u가 최대공약수.
0이 아니면 u에 u%v를 대입하고 u와v의 값을 교환한다.
3. 2로 돌아간다.
함수
재귀함수로 간단히 구현할 수 있습니다.
삼항연산자를 처음보는 어린이들은 책을 다시한번 보세요.
최소공배수 (LCM : lowest[least] common multiple)
1. 두 개의 정수 u, v를 입력받는다.
2. u*v를 u와v의 최대공약수로 나눈다.
헙헙, 저도 방금배웠어요. 고등수학은 참 재밌군뇨.
함수
참 쉽죠?
첫 모의고사.
'(임시휴재) Fanta's Post' 카테고리의 다른 글
이번주는 쉽니다. (1) | 2009.03.28 |
---|---|
비트연산 활용 (0) | 2009.03.21 |
Bit twiddling Hack : 정수의 부호 계산 (0) | 2009.02.28 |
변수의 범위 (3) | 2009.02.21 |
시간복잡도 (4) | 2009.02.14 |