The function returns greatest common divisor for two digits. When it does not found it, returns 1.
function GCD( _iNumber1, _iNumber2 : integer ) : integer;
var
iTemp : integer;
begin
if _iNumber1 < 0 then _iNumber1 := -_iNumber1;
if _iNumber2 < 0 then _iNumber2 := -_iNumber2;
repeat
if _iNumber1 < _iNumber2 then
begin
iTemp := _iNumber1;
_iNumber1 := _iNumber2;
_iNumber2 := iTemp;
end;
_iNumber1 := _iNumber1 mod _iNumber2;
until ( _iNumber1 = 0 );
result := _iNumber2;
end;
Calling:
var
i : integer;
begin
i := GCD( 12, 16 );
ShowMessage( IntToStr( i ) );
end;
Output:
this returns 4 no matter which 2 digits you decide to use :)
ReplyDelete