I often used this function – a simple and clear to understand algorithm to find the greatest common divider of two numbers. Here is the whole code for that:
function greatest_common_divider(a, b:integer):integer; begin while (a <> 0) AND (b <> 0) do if a >= b then a := a mod b else b := b mod a; greatest_common_divider := a + b; end;
I bet there’s no better way to do this on Pascal.