可以按 最小公倍数 = a * b / 最大公约数 的公式,先求出公质数。
function MaxMerse(A, B: integer): integer;
begin
if B = 0 then
Result := A
else
if A > B then
Result := MaxMerse(B, A mod B)
else
Result := MaxMerse(A, B mod A);
end;
procedure TForm1.Button1Click(Sender: TObject);
var
a, b: integer;
begin
a := StrToInt(Edit1.Text);
b := StrToInt(Edit2.Text);
if (a <=0) or (b <= 0) then
Button1.Caption := 'Input Error'
else
Button1.Caption := inttostr(a div MaxMerse(a, b) * b);
end;