Sobes.tech
Junior — Middle

Kokiais duomenimis ar struktūromis veikia didžiausio bendro daliklio (GCD) paieškos algoritmas?

sobes.tech AI

Atsakymas iš AI

Didžiausias bendras daliklis (DBD, GCD) algoritmas veikia su sveikaisiais skaičiais. Pagrindiniai duomenys yra du sveikieji skaičiai, kurių reikia rasti didžiausią daliklį, kuris be liekanos dalija abu skaičius.

Dažniausiai naudojamas Euklido algoritmas, kuris nuosekliai keičia skaičių porą į (b, a % b), kol liekana tampa nuliu. Galiausiai lieka paskutinis nulinės liekanos daliklis — tai yra DBD.

Pavyzdys Swift kalba:

func gcd(_ a: Int, _ b: Int) -> Int {
    var a = a
    var b = b
    while b != 0 {
        let temp = b
        b = a % b
        a = temp
    }
    return a
}

rezultatas = gcd(48, 18) // rezultatas bus 6