Greatest common divisor: Difference between revisions

no edit summary
(Add CLU)
No edit summary
Line 423:
The gcd of +33 and +77 is +11
The gcd of +49865 and +69811 is +9973
</pre>
 
=={{header|ALGOL-M}}==
<lang algol>BEGIN
 
% RETURN P MOD Q %
INTEGER FUNCTION MOD (P, Q);
INTEGER P, Q;
BEGIN
MOD := P - Q * (P / Q);
END;
 
% RETURN GREATEST COMMON DIVISOR OF X AND Y %
INTEGER FUNCTION GCD (X, Y);
INTEGER X, Y;
BEGIN
INTEGER R;
IF X < Y THEN
BEGIN
INTEGER TEMP;
TEMP := X;
X := Y;
Y := TEMP;
END;
WHILE (R := MOD(X, Y)) <> 0 DO
BEGIN
X := Y;
Y := R;
END;
GCD := Y;
END;
 
COMMENT - EXERCISE THE FUNCTION;
 
WRITE("THE GDC OF 21 AND 35 IS", GCD(21,35));
WRITE("THE GDC OF 23 AND 35 IS", GCD(23,35));
WRITE("THE GDC OF 1071 AND 1029 IS", GCD(1071,1029));
WRITE("THE GDC OF 3528 AND 3780 IS", GCD(3528,252));
 
END</lang>
{{out}}
<pre>THE GDC OF 21 AND 35 IS 7
THE GDC OF 23 AND 35 IS 1
THE GDC OF 1071 AND 1029 IS 21
THE GDC OF 3528 AND 3780 IS 252
</pre>
 
211

edits