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

 

2609번: 최대공약수와 최소공배수

첫째 줄에는 입력으로 주어진 두 수의 최대공약수를,둘째 줄에는 입력으로 주어진 두 수의 최소 공배수를 출력한다.

www.acmicpc.net

최대공약수는 유클리드 호제법을 사용한 gcd 함수를 사용한다.

gcd 함수는 아래 코드와 같이 구현하면 된다.

최소공배수는 a와 b를 곱한 값에 최대공약수로 나누어주면 구할 수 있다.

 

#include &ltiostream&gt
using namespace std;

//최대공약수를 구하는 함수
int gcd(int a, int b) {
    if(b== 0) return a;
    else return gcd(b, a%b);
}

int main() {
    int a, b;
    cin >> a >> b;
    
    int g = gcd(a,b);
    cout << g << '\n' << a*b/g << '\n';
    
    return 0;
}

'BOJ' 카테고리의 다른 글

[BOJ] 9095. 1, 2, 3 더하기  (0) 2019.06.20
[BOJ] 6588. 골드바흐의 추측  (0) 2019.06.18
[BOJ] 3055. 탈출  (0) 2019.05.01
[BOJ] 2583. 영역 구하기  (0) 2019.05.01
[BOJ] 2606. 바이러스  (0) 2019.05.01

+ Recent posts