반응형
[설명]
임의의 두 정수를 입력 받아 유클리드 호제법을 이용하여, 최대 공약수와 최소 공배수를 출력하는 프로그램을 작성하시오.
[처리방법과 기준]
입력될 두 숫자를 x, y라하고 x < y 임을 가정합니다. x를 m에, y를 n에 저장하여(m은 분자, n은 분모를 의미) 다음 반복에 의해 최대 공약수와 최소 공배수를 계산합니다. 반복 m % n을 계산 그 값이 0이면 n은 최대 공약수(반복 벗어남) 그렇지 않으면 m에 n을 기억, 나머지 값을 n에 저장
이때n은 최대 공약수이며 최소 공배수는n*(x/n)*(y/n)으로 계산합니다.
[문제 분석]
구분 |
처리할 내용 |
입력 |
임의의 두 정수 |
처리 |
반복처리에 의해 최대 공약수를 계산, 최대 공약수로 최소 공배수를 계산 |
출력 |
최대 공약수, 최소 공배수 |
[입력 예]
첫 번째 숫자 입력 : 27
두 번째 숫자 입력 : 36
[출력 예]
최대 공약수 : 9
최소 공배수 : 108반응형
'C || C++ > Problems' 카테고리의 다른 글
[ C005 ] - 파스칼의 삼각형 (0) | 2013.05.26 |
---|---|
[ C004 ] - 2010년 달력만들기 (0) | 2010.04.20 |
[ C003 ] - 소수 이하 임의의 자릿수에서 반올림 (0) | 2009.09.16 |
[ C002 ] - 1부터 100까지의 합 구하기 (0) | 2009.08.21 |