|
% CALCOLO DEL MASSIMO COMUNE DIVISORE TRA DUE NUMERI INTERI
% (ALGORITMO DI EUCLIDE)
% mcd(X, Y, Z) "Z è il massimo comune divisore di X e Y"
mcd(X, Y, Z) :- integer(X), integer(Y), X > 0, Y > 0, mcd1(X, Y, Z).
mcd1(X, 0, X) :- X > 0.
mcd1(X, Y, Z) :- Y > 0, X1 is X mod Y, mcd1(Y, X1, Z).
|
|