economia news e media viaggi informatica internet salute e benessere int rattenimento e spettacolo sport tempo libero istruzio ne e formazione arte cultura scienza

Appunti Informatica

Algortimo di Euclide

A cura di Antonio Parziale

Pubblicato il 04/07/2005

Algoritmo di Euclide per il calcolo del Massimo Comune Divisore (MCD) di due interi. Anche in versione estesa. L'articolo è tratto dalla tesi di laurea in "Applicazione delle tecniche di crittografia nella trasmissione ed elaborazione dati" redatta dall'ingegnere Federico Gennari nell'anno accademico 2000/2001.

Algoritmo di Euclide per il calcolo del Massimo Comune Divisore (MCD) di due interi (tempo di lavoro O((lg n)2) operazioni su bit):

INPUT: due interi non negativi a e b (a minore uguale di b)

OUTPUT: MCD di a e b

1)  mentre  ripeti:

poni  r = a mod b; a = b; b = r; (ricordiamo che a mod b restituisce il resto della divisione intera tra a e b)

2)  restituisci a

Algoritmo di Euclide esteso:

INPUT: due interi non negativi a e b,

OUTPUT: d = MCD (a,b) e gli interi x, y tali che ax + by = d.

1)      Se b=0 allora poni d=a, x=1, y=0 e restituisci (d, x, y)

2)      Poni x2=1, x1=0, y1=1.

3)      Mentre b>0 fai i seguenti

          3.1) q=divisione intera di a/b , r= a - qb, x= x2 - qx1 , y= y2 - qy1 .

          3.2) a =b, b =r, x2 =x1 , x1 =x, y2 =y1 , y1 =y.

4) Poni d= a, x= x2 , y= y2 , e restituisci (d,x,y).

Vuoi essere aggiornato sulle novità della guida?

Feed RSS XML vostro feed RSS