백준(BaekJoon)

[BaekJoon/C] No.2609 : 최대공약수와 최소공배수

ekdnjs510 2024. 7. 7. 14:02
728x90

https://www.acmicpc.net/problem/2609

 

No.2609 문제

 

문제해석

  • 사용자에게 입력받은 값을 반복문을 통해 최대공약수를 구하고 입력받은 값을 곱한 뒤 최대공약수로 나누면 최소공배수를 구할 수 있습니다.

 

소스코드 & 문제풀이


#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>

int main(void) {

	int n1, n2; // 사용자에게 두 수를 입력받을 변수 설정
	scanf("%d %d", &n1, &n2); 

	int x = 1; //최소공배수 저장 할 변수의 값을 1로 초기화

//반복문 변수가 두 수의 변수가 될때까지 반복하고 
//반복문 변수 초기값을 0으로 하면 런타임에러 발생 => int i=1
	for (int i = 1; i<=n1 && i<=n2 ; i++) { 
		if (n1 % i == 0 && n2 % i == 0) x = i;
	}
		
	printf("%d\n", x); //최대공약수 출력
	printf("%d", n1 * n2 / x); //두 수의 곱을 최대 공약수로 나눠주어 최소공배수 출력

}

 

 

 

예제 입출력 결과

728x90