μκ°
μμμ 2κ° μμ λν μ΅λ곡μ½μλ₯Ό ꡬνλ κ³Όμ μ λνμ¬, κ° μλ₯Ό μμμ μλ‘ λλ 보λ κ³Όμ μμ΄ λΉ λ₯΄κ² μ΅λ곡μ½μλ₯Ό ꡬν΄λ΄λ λ°©λ²
κ°λ
λ μμ μ μ a, bμ λνμ¬, a = bq + r (0 ≤ r < b)μΌ λ, aμ bμ μ΅λ곡μ½μλ bμ rμ μ΅λ곡μ½μμ κ°λ€.
λ§μ½ rμ΄ 0μ΄λΌλ©΄, aμ bμ μ΅λ곡μ½μλ bμ΄λ€.
public static int gcd( int a, int b ) {
int r = a % b;
while( r != 0 ) {
a = b;
b = r;
r = a % b;
}
return b;
}
μκ°λ³΅μ‘λ: O(logn)
μ리
[μνμκ³ λ¦¬μ¦] μ ν΄λ¦¬λ νΈμ λ²
[μνμκ³ λ¦¬μ¦] μ ν΄λ¦¬λ νΈμ λ²
μ΄ κΈμμλ μ ν΄λ¦¬λ νΈμ λ²μ μ¦λͺ κ³Ό μ리λ₯Ό λ€λ£Ήλλ€.
justicehui.github.io
μμμ μ Aμ Bμ λνμ¬ (A ≥ B),
λ§μ½ λ μμ μ΅λ곡μ½μκ° GμΌ λ, κ° μλ λ€μκ³Ό κ°μ΄ ννν μ μλ€:
A = Ga, B = Gb (a, b: μλ‘μ)
μ΄λ, Aλ₯Ό Bλ‘ λλ λͺ«μ Q, λλ¨Έμ§λ₯Ό Rμ΄λΌ ν λ,
A = BQ + R
Ga = GbQ + R
Ga - GbQ = R
G (a - bQ) = R
μ΄λ, a - bQλ μμμ μ μμ΄λ―λ‘ Rμ Gλ₯Ό μ½μλ‘ κ°μ§λ€
λ°λΌμ Aλ₯Ό λ§λ€μ΄λ΄κΈ° μν΄ μ‘΄μ¬νλ Bμ Rμ μ΅λ곡μ½μλ₯Ό ꡬνλ κ³Όμ μ
Aμ Bμ μ΅λ곡μ½μλ₯Ό ꡬνλ κ³Όμ κ³Ό κ°λ€
κ²°λ‘ μ μΌλ‘, Bμ Rμ μμ λ°©λ²λλ‘ λ°λ³΅νμ¬ Rμ΄ 0μ΄λ λ,
ν΄λΉμμ μμ Bμ μμΉμ λ€μ΄κ°λ κ°μ μ΅μ΄ μ°μ°λ Aμ Bμ μ΅λ곡μ½μμ΄λ€.
(A = BQνμμ΄ λλ€λ λ»μΈλ°, Aκ° Bμ μ μλ°°λΌλ λ»μ΄ λκΈ° λλ¬Έ)
κ°λ : νμ©
- λ€νμμ μ΅λ곡μ½μ μ°μΆ
- nκ° μ«μλ€μ μ΅λ곡μ½μ
κ΄λ ¨ λ¬Έμ
'π [STUDY] κ°λ° > [STUDY] μκ³ λ¦¬μ¦' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Weekly Scrum] μκ³ λ¦¬μ¦ μ€ν°λ - 4μ£Όμ°¨ (0) | 2025.02.13 |
---|---|
[Weekly Scrum] μκ³ λ¦¬μ¦ μ€ν°λ - 3μ£Όμ°¨ (0) | 2025.02.04 |
[Weekly Scrum] μκ³ λ¦¬μ¦ μ€ν°λ - 2μ£Όμ°¨ (0) | 2025.01.28 |
[Weekly Scrum] μκ³ λ¦¬μ¦ μ€ν°λ - 1μ£Όμ°¨ (0) | 2025.01.21 |
[μν] μμνμ μκ³ λ¦¬μ¦ (0) | 2023.01.09 |