문제 풀이/문제 풀이(BOJ)

[Silver V] 최소공배수 - 13241

풀뿌리 2024. 8. 8. 15:51

[문제 위치]

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

[문제 풀이]

최소공배수 구하는 유클리드 호제법을 구현해주기만 하면 된다.

#include <iostream>

using namespace std;

#define fastio ios::sync_with_stdio(0), cin.tie(0), cout.tie(0)

// 최대공약수(GCD)를 계산하는 함수 (유클리드 호제법)
long long gcd(long long a, long long b) {
    while (b != 0) {
        long long t = b;
        b = a % b;
        a = t;
    }
    return a;
}

// 최소공배수(LCM)를 계산하는 함수
long long lcm(long long a, long long b) {
    return (a / gcd(a, b)) * b;
}

int main() {
    fastio;
    
    long long A, B;
    cin >> A >> B;

    cout << lcm(A, B) << endl;

    return 0;
}