(!******************************************************* * Mosel Example Problems * * ====================== * * * * file lcdiv.mos * * ```````'`````` * * Example for the use of the Mosel language * * (Largest common divisor of two numbers) * * * * (c) 2008 Fair Isaac Corporation * * author: S. Heipcke, 2001 * *******************************************************!) model Lcdiv ! Start a new model function lcdiv(A,B:integer):integer if(A=B) then returned:=A elif(A>B) then returned:=lcdiv(B,A-B) else returned:=lcdiv(A,B-A) end-if end-function declarations A,B: integer ! Two integer numbers end-declarations write("Enter two integer numbers:\n A: ") fflush readln(A) write(" B: ") fflush readln(B) writeln("Largest common divisor: ", lcdiv(A,B)) (! Instead of using a recursive function call, it is also possible to formulate this program as a while loop: while (A <> B) do if (A>B) then A:=A-B else B:=B-A end-if end-do writeln("Largest common divisor: ", A) !) end-model