문제
: [ 문제 4 ] 두 개의 양의 정수 N과 M을 입력 받아 두 정수의 최대공약수를 출력하는 프로그램을 작성해보시오.
<실행 예시 1>
<실행 예시 2>
<결과 코드>
#pragma warning(disable:4996)
#include <stdio.h>
int main() {
int N, M;
int min;
int max;
int i;
int result; //최대공약수
int result2; //최소공배수
scanf("%d %d", &N, &M);
if (N > M) {
max = N;
min = M;
}
else {
max = M;
min = N;
}
for (i = min; i >= 1; i--) {
if (max % i == 0 && min % i == 0) {
result = i;
break;
}
}
printf("%d\n", result);
result2 = (max * min) / result; //최소공배수(2개일때만 가능)
for (i = 1; i <= N * M; i++) { // 최소공배수 (2개이상 다 가능)
if (i % N == 0 && i % M == 0) {
result2 = i;
break;
}
}
printf("%d\n", result2);
return 0;
}
반응형
최근댓글