[λ°±μ€] 13241λ² - μ΅μ곡배μ (C++)
13241λ²: μ΅μ곡배μ
μ μ Bμ 0λ³΄λ€ ν° μ μμΈ Nμ κ³±ν΄ μ μ Aλ₯Ό λ§λ€ μ μλ€λ©΄, Aλ Bμ λ°°μμ΄λ€. μ: 10μ 5μ λ°°μμ΄λ€ (5*2 = 10) 10μ 10μ λ°°μμ΄λ€(10*1 = 10) 6μ 1μ λ°°μμ΄λ€(1*6 = 6) 20μ 1, 2, 4,5,10,20μ λ°°μμ΄λ€. λ€
www.acmicpc.net
λ¬Έμ
μ μ Bμ 0λ³΄λ€ ν° μ μμΈ Nμ κ³±ν΄ μ μ Aλ₯Ό λ§λ€ μ μλ€λ©΄, Aλ Bμ λ°°μμ΄λ€.
μ:
- 10μ 5μ λ°°μμ΄λ€ (5*2 = 10)
- 10μ 10μ λ°°μμ΄λ€(10*1 = 10)
- 6μ 1μ λ°°μμ΄λ€(1*6 = 6)
- 20μ 1, 2, 4,5,10,20μ λ°°μμ΄λ€.
λ€λ₯Έ μ:
- 2μ 5μ μ΅μ곡배μλ 10μ΄κ³ , κ·Έ μ΄μ λ 2μ 5λ³΄λ€ μμ 곡배μκ° μκΈ° λλ¬Έμ΄λ€.
- 10κ³Ό 20μ μ΅μ곡배μλ 20μ΄λ€.
- 5μ 3μ μ΅μ곡배μλ 15μ΄λ€.
λΉμ μ λ μμ λνμ¬ μ΅μ곡배μλ₯Ό ꡬνλ νλ‘κ·Έλ¨μ μμ± νλ κ²μ΄ λͺ©νμ΄λ€.
μ λ ₯
ν μ€μ λ μ μ Aμ Bκ° κ³΅λ°±μΌλ‘ λΆλ¦¬λμ΄ μ£Όμ΄μ§λ€.
50%μ μ λ ₯ μ€ Aμ Bλ 1000(103)λ³΄λ€ μλ€. λ€λ₯Έ 50%μ μ λ ₯μ 1000λ³΄λ€ ν¬κ³ 100000000(108)λ³΄λ€ μλ€.
μΆκ°: ν° μ μ λ ₯μ λνμ¬ λ³μλ₯Ό 64λΉνΈ μ μλ‘ μ μΈνμμ€. C/C++μμλ long long intλ₯Ό μ¬μ©νκ³ , Javaμμλ longμ μ¬μ©νμμ€.
μΆλ ₯
Aμ Bμ μ΅μ곡배μλ₯Ό ν μ€μ μΆλ ₯νλ€.
νμ΄κ³Όμ
μ΄ λ¬Έμ λ aμ bμ μ΅μ곡배μλ₯Ό ꡬν΄μΌνλ λ¬Έμ μμλ€.
μ΅μ곡배μμ κ²½μ°
μ΅μ곡배μ = a * b / μ΅λ곡μ½μ
λΌλ μμΌλ‘ μ΅μ곡배μλ₯Ό ꡬν μ μμΌλ―λ‘ μ΅λ곡μ½μλ₯Ό ꡬνμ¬ μ΅μ곡배μλ₯Ό ꡬνλ©΄ λλ λ¬Έμ μμλ€.
μ΅λ곡μ½μμ κ²½μ°μλ μ ν΄λ¦¬λ νΈμ λ²μ΄λΌλ κ³Όμ μ ν΅ν΄μ ꡬν μ μλλ° κ·Έ κ³Όμ μ μλμ κ°λ€.
μλμ κ°μ μ°μ°μ ν΅ν΄μ μ ν΄λ¦¬νΈ νΈμ λ²μΌλ‘ μ΅λ곡μ½μλ₯Ό ꡬν μ μμκ³ ,
μ΅μ 곡배μλ a * b / μ΅λ곡μ½μμ΄λ―λ‘ μμ κ°μ λ°©μμΌλ‘ κ°μ ꡬν μ μμλ€.
μ¦ μμ κ°μ μμ μ κ²½μ°μλ 36κ³Ό 64μ μ΅λ곡μ½μλ 4μ΄κ³ μ΅μ곡배μλ (36 * 64 / 4 = 576 ) 576μμ μ μ μλ€.
code
#include <iostream>
long long gcd(long long a, long long b)
{
long long c;
while(b)
{
c = a % b;
a = b;
b = c;
}
return a;
}
int main()
{
long long a, b;
std::cin >> a >> b;
std::cout << (a * b / gcd(a, b));
return (0);
}
νκΈ°
μνμν μνλ¬Έμ