문제

:  [ 문제 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;
}
반응형