확률과 통계순열과 조합수능 기출기본 문제 (3점 중반)

유클리드 순서도

문제

다음은 유클리드 알고리즘을 이용하여 두 자연수 aa, bb의 최대공약수를 알아보는 순서도이다. a=2004a = 2004, b=1670b = 1670일 때, (가) 부분의 처리 내용과 인쇄되는 값은? [3점]

(가)인쇄값
aaa \leftarrow a babb \leftarrow a - b168168
aaba \leftarrow a - b bbab \leftarrow b - a232232
aaba \leftarrow a - b bbb \leftarrow b232232
abaa \leftarrow b - a bbb \leftarrow b334334
aaba \leftarrow a - b bbb \leftarrow b334334
정답 보기

자료 내려받기

아직 올라온 파일이 없습니다.

해설

유클리드 알고리즘을 이용하여 두 자연수 aa, bb의 최대공약수를 구하는 방법은 다음과 같다. 두 수 aa, bb의 최대공약수를 dd라고 하면 ddaabb를 동시에 나누므로, ddaba - bbb를 나누게 된다. 이와 같은 방법으로 a<ba < b이면 aabab - a의 최대공약수를 알아보고, a>ba > b이면 aba - bbb의 최대공약수를 구하면 된다. 따라서, (가)에 들어가는 식은 aabbb\square {\begin{aligned} a \leftarrow a - b \\ b \leftarrow b \end{aligned}}이다. 이를 이용하여 2004, 1670의 최대공약수를 구해 보면 다음과 같다. (aa, bb)=(2004, 1670) (a>ba > b) =(334, 1670) (a<ba < b) =(334, 1336) (a<ba < b) =(334, 1002) (a<ba < b) =(334, 668) (a<ba < b) =(334, 334) (a=ba = b) =334 따라서, 인쇄되는 bb의 값은 334이다.

태그

비슷한 문제 더 보기

← 전체 문제 목록으로