22 lines
471 B
Text
22 lines
471 B
Text
MODULE GCD EXPORTS Main;
|
|
|
|
IMPORT IO, Fmt;
|
|
|
|
PROCEDURE GCD(a, b: CARDINAL): CARDINAL =
|
|
BEGIN
|
|
IF a = 0 THEN
|
|
RETURN b;
|
|
ELSIF b = 0 THEN
|
|
RETURN a;
|
|
ELSIF a > b THEN
|
|
RETURN GCD(b, a MOD b);
|
|
ELSE
|
|
RETURN GCD(a, b MOD a);
|
|
END;
|
|
END GCD;
|
|
|
|
BEGIN
|
|
IO.Put("GCD of 100, 5 is " & Fmt.Int(GCD(100, 5)) & "\n");
|
|
IO.Put("GCD of 5, 100 is " & Fmt.Int(GCD(5, 100)) & "\n");
|
|
IO.Put("GCD of 7, 23 is " & Fmt.Int(GCD(7, 23)) & "\n");
|
|
END GCD.
|