Euklidischer Algorithmus

Euklidischer Algorithmus

_EUCLID_OLD_(a,b)
1  wenn a = 0 dann
2    Ergebnis = b
3  sonst
4    solange b ≠ 0
5      wenn a > b dann
6        a ← a – b
7      sonst
8        b ← b – a
9      //
10   //
11   Ergebnis = a
12 //
_EUCLID_OLD_RECURSIVE_(a,b)
1  wenn b = 0 dann
2    Ergebnis = a
3  sonst
4    wenn a = 0 dann
5      Ergebnis = b
6    sonst
7      wenn a > b dann
8        Ergebnis = _EUCLID_OLD_RECURSIVE_(a – b, b)
9      sonst
10       Ergebnis = _EUCLID_OLD_RECURSIVE_(a, b – a)
11     //
12   //
13 //
_EUCLID_RECURSIVE_(a,b)
1  wenn b = 0 dann
2    Ergebnis = a
3  sonst
4    Ergebnis = _EUCLID_(b, Divisionsrest(a durch b))
5  //
_EUCLID_ITERATIVE_(a,b)
1  solange b ≠ 0
2      h ← Divisionsrest(a durch b)
3      a ← b
4      b ← h
5  //
6  Ergebnis = a