Der Euklid`sche Algorithmus C (imperative Sprache) int ggt( int a , int

Werbung
Der Euklid’sche Algorithmus
C (imperative Sprache)
int g g t ( int a , int b ) {
int r ;
while ( b != 0 ) {
r = a % b;
a = b;
b = r;
}
return a ;
}
Java (objektorientierte Sprache)
s t a t i c int g gt ( int a , int b ){
int r ;
while ( b != 0 ) {
r = a % b;
a = b;
b = r;
}
return a ;
}
Haskell (funktionale Sprache)
g g t : : Integer −> Integer −> Integer
g g t a b | b == 0
= a
| otherwise = g gt b ( a ‘mod‘ b )
Prolog (logische/deduktive Sprache)
g g t (A, 0 ,A) .
g g t (A, B, Z) :− U i s A mod B, g gt (B, U, Z ) .
C-Shell (Skriptsprache)
s e t a = $1
s e t b = $2
while ( $b != 0 )
@ r = $a % $b
s e t a = $b
s e t b = $r
end
echo $a
1
Markow-Algorithmus
M = (Σ, P ),
P :
Pt = ∅
Σ = {a, A, B, C, #}
aA → Aa
a#a → A#
Eingabe: ai #aj
a# → #B
B→a
A→C
C→a
#→λ
Ausgabe: ak , k = ggt(i, j)
Bei diesem Algorithmus handelt es sich nicht um den Euklid’schen Algorithmus.
2
Herunterladen