(cpp) Baekjoon 2609번 문제 ‘최대공약수와 최소공배수’ - 수학, 정수론, 유클리드 호제법

Baekjoon 2609번 문제 ‘최대공약수와 최소공배수’ - 수학, 정수론, 유클리드 호제법


문제

문제풀이

image

코드

#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
using namespace std;

int a, b,max_num,min_num,r,result;

int solution(int num1, int num2) {
	while (num2 !=0) {
		r = num1 % num2; 
		num1 = num2; 
		num2 = r; 
	}
	return num1;
}
int main() {
	cin >> a >> b;
	if (a >= b) { 
		max_num = a; 
		min_num = b; }
	else {
		max_num = b;
		min_num = a;
	}

	result= solution(max_num, min_num);
	cout << result <<'\n';
	cout << a * b / result;
}