𝘚𝘭𝘰𝘸 𝘣𝘢𝘡 𝘴𝘡𝘦𝘒π˜₯𝘺

[λ°±μ€€] 1934번: μ΅œμ†Œκ³΅λ°°μˆ˜ - C++ λ³Έλ¬Έ

μ½”λ”©ν…ŒμŠ€νŠΈ μ€€λΉ„/λ°±μ€€

[λ°±μ€€] 1934번: μ΅œμ†Œκ³΅λ°°μˆ˜ - C++

.23 2021. 8. 16. 23:04
문제

두 μžμ—°μˆ˜ A와 B에 λŒ€ν•΄μ„œ, A의 λ°°μˆ˜μ΄λ©΄μ„œ B의 배수인 μžμ—°μˆ˜λ₯Ό A와 B의 곡배수라고 ν•œλ‹€. 이런 곡배수 μ€‘μ—μ„œ κ°€μž₯ μž‘μ€ 수λ₯Ό μ΅œμ†Œκ³΅λ°°μˆ˜λΌκ³  ν•œλ‹€. 예λ₯Ό λ“€μ–΄, 6κ³Ό 15의 κ³΅λ°°μˆ˜λŠ” 30, 60, 90등이 있으며, μ΅œμ†Œ κ³΅λ°°μˆ˜λŠ” 30이닀.

두 μžμ—°μˆ˜ A와 Bκ°€ μ£Όμ–΄μ‘Œμ„ λ•Œ, A와 B의 μ΅œμ†Œκ³΅λ°°μˆ˜λ₯Ό κ΅¬ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ„ μž‘μ„±ν•˜μ‹œμ˜€.

 

μž…λ ₯

첫째 쀄에 ν…ŒμŠ€νŠΈ μΌ€μ΄μŠ€μ˜ 개수 T(1 ≤ T ≤ 1,000)κ°€ 주어진닀. λ‘˜μ§Έ 쀄뢀터 T개의 쀄에 κ±Έμ³μ„œ A와 Bκ°€ 주어진닀. (1 ≤ A, B ≤ 45,000)

 

좜λ ₯

첫째 쀄뢀터 T개의 쀄에 A와 B의 μ΅œμ†Œκ³΅λ°°μˆ˜λ₯Ό μž…λ ₯받은 μˆœμ„œλŒ€λ‘œ ν•œ 쀄에 ν•˜λ‚˜μ”© 좜λ ₯ν•œλ‹€.


2609번 μ΅œλŒ€κ³΅μ•½μˆ˜μ™€ μ΅œμ†Œκ³΅λ°°μˆ˜ λ₯Ό μ΄μš©ν•˜μ—¬ ν’€λ©΄ κ°„λ‹¨ν•˜κ²Œ ν’€ 수 μžˆλŠ” λ¬Έμ œμ΄λ‹€.

 

μ½”λ“œ
#include <cstdio>

int GCD(int a, int b);
int LCM(int a, int b);

int main(void) {
    int t;
    scanf("%d", &t);
    
    for(int i = 0; i < t; i++) {
        int a, b;
        scanf("%d %d", &a, &b);
        printf("%d\n", LCM(a, b));
    }
    return 0;
}

int GCD(int a, int b) {
    return b ? GCD(b, a % b) : a;
}

int LCM(int a, int b) {
    return a * b / GCD(a, b);
}
Comments