Menu
CoddyTech

Greatest Common Divisor

Ti vengono dati due numeri interi positivi a e b. Restituisci il loro massimo comune divisore: il più grande numero intero che divide entrambi senza resto.

Per esempio, i numeri che dividono sia 8 sia 12 sono 1, 2 e 4, quindi la risposta è 4.

Funzione

gcd(a: integer, b: integer) → integer
ainteger
il primo intero positivo
binteger
il secondo intero positivo
Restituisceinteger
il più grande intero che divide sia a sia b

Vincoli

  • 1 ≤ a ≤ 109
  • 1 ≤ b ≤ 109

Esempi

Input
a = 12b = 18
Output
6
Spiegazione
I divisori di 12 sono 1, 2, 3, 4, 6 e 12; i divisori di 18 sono 1, 2, 3, 6, 9 e 18. Il più grande presente in entrambe le liste è 6.

lock icon+14 test nascosti all’invio

challenge icon

Per approfondire

Puoi estendere l'algoritmo di Euclide in modo che restituisca anche gli interi x e y tali che a × x + b × y = gcd(a, b)?

Ripristina il codice
def gcd(a, b):
    # Scrivi il codice qui
Casi di test

Caso 1

Caso 2

Caso 3

Input

a = 12
b = 18

Atteso

6